Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Prescribed finite arrays and ordered labels

Abstract

Prescribed finite arrays and ordered labels. All numbered edges, ordered labels and source conditions are retained.

Definition 1.1 (The rowFirst actual sweep).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.rowFirst (✓ std3).

Source. Repository-derived.

Commentary.

The same local transformations are evaluated one complete layer row at a time, always using the given factor path at the right boundary. The inverse visits these same cells in reverse order. Both composites are identities; every endpoint and independent copy number is recovered.

Theorem 1.2 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.psi0_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.3 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.psiL_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.4 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.matrixPsi0_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.5 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.matrixPsiL_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.6 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.phiR_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.7 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.phiS_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.8 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.matrixPhiR_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Theorem 1.9 (Ordered total-label preservation).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.matrixPhiS_label (✓ std3). ∎

Source. Repository-derived.

Commentary.

The sigma vertex is omitted by first and second, which denote the two composable components. Labels multiply in traversal order. The equality uses associativity and inverse cancellation in an arbitrary group; it does not exchange group elements.

Definition 1.10 (One row with its prescribed right boundary).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.layerSweep (✓ std3).

Source. Repository-derived.

Commentary.

Apply the actual local cells from right to left along the row. The given U edge supplies the last cell at i=l-1, and each other cell reads the U edge just computed at its right neighbor. The reverse algorithm inverts the same cells in the opposite order.

Definition 1.11 (A finite row with all numbered edges).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.NumberedRow (✓ std3).

Source. Repository-derived.

Commentary.

A row consists of a vertex function x:Fin(l+1)→Fin n and, for each i:Fin l, an edge in At(A,x(i.castSucc),x(i.succ)). These are the literal vertices 0 through l and edges 0 through l−1. The length-zero row retains its named vertex.

Definition 1.12 (All U half-edges including the prescribed boundary).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.rowHalves (✓ std3).

Source. Repository-derived.

Commentary.

For r:NumberedRow(UV,l), z:Fin k and right:At(U,r.vertex(l),z), this dependent function assigns a target y_i and an actual U edge from r.vertex(i) to y_i for every i:Fin(l+1). At i<l it reads the prescribed ordered theta split of r.edge(i); at i=l it returns exactly z and right. In this formula lastVertex denotes r.vertex(Fin.last l), and A=UV.

Definition 1.13 (The literal eta recurrence).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.nextNumberedRow (✓ std3).

Source. Repository-derived.

Commentary.

For the factor row A=UV and B=VU, let (u_i,v_i)=theta inverse(r.edge(i)) for i<l and let u_l be the prescribed right edge. The next vertex at i is target(u_i). Its edge at i is eta(v_i,u_(i+1)). The target of v_i is the source of u_(i+1), including at i=l−1, so every edge has its actual legal endpoints.

Definition 1.14 (A row and its actual recurrence laws).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.G34Step (✓ std3).

Source. Repository-derived.

Commentary.

A step retains next:NumberedRow(B,l), all u_i:At(U,r.vertex(i),next.vertex(i)) for 0≤i≤l, and all v_i:At(V,next.vertex(i),r.vertex(i+1)) for 0≤i<l. Its theta law states theta inverse(r.edge(i))=(next.vertex(i),u_i,v_i), with the A=UV equality transporting the input type. Its eta law states next.edge(i)=eta(v_i,u_(i+1)), with B=VU transporting the output type. Every label and copy number belongs to these actual sigma coordinates.

Definition 1.15 (Construct a legal row with its prescribed boundary).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.generateG34Step (✓ std3).

Source. Repository-derived.

Commentary.

The constructor applies the given ordered splits to all top edges and the given ordered joins to adjacent half-edges. It produces the complete G34Step and proves both displayed recurrence laws. Its final vertex is z and its final U edge is the supplied right edge, with only the necessary endpoint equality transport. Here lastVertex is r.vertex(Fin.last l).

Definition 1.16 (The single dependent finite rectangular array).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.G34Array (✓ std3).

Source. Repository-derived.

Commentary.

The IndexedChain data retain every original d_j,A_j,U_j,V_j and both equalities A_j=U_jV_j and A_(j+1)=V_jU_j. An array has row(j):NumberedRow(A_j,l) for j:Fin(L+1), step(j):G34Step(A_j,A_(j+1),U_j,V_j,leftFactor(j),rightFactor(j),row(j)) for j:Fin L, and nextRow(j):step(j).next=row(j+1). Thus its a_i^j,u_i^j,v_i^j use literal i<l,j<L. Taking l=L gives exactly the source G34 square; intermediate dimensions may vary or vanish.

Definition 1.17 (Generate the same array from the top and right sides).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.generateG34 (✓ std3).

Source. Repository-derived.

Commentary.

Here b(j):Fin(d_j) is the actual right-side vertex at each level, rin(j):At(U_j,b(j),b(j+1)) is each supplied right U edge, and r is the supplied A_0 top row with r.vertex(l)=b(0). PrescribedG34Array is the subtype of arrays g satisfying g.row(0)=r, g.row(j).vertex(l)=b(j) at every level and HEq(step(j).u(l),rin(j)) at every step. The recursion generates one complete row, then the actual remaining source layers. It imposes no inhabitance, positivity or commutativity premise.

Theorem 1.18 (Uniqueness of one literal recurrence row).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.g34Step_unique (✓ std3). ∎

Source. Repository-derived.

Commentary.

For two legal G34 steps on the same original A,B,U,V,hA,hB and top row r, equality of their final next vertices and equality of their prescribed last U edges force equality of the entire steps. Theta determines every interior next vertex and half-edge; eta then determines every next numbered edge. HEq records the necessary dependent endpoint transport.

Theorem 1.19 (Recurrence uniqueness for the entire same array).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.g34Array_unique (✓ std3). ∎

Source. Repository-derived.

Commentary.

SameRightVertices means p.row(j).vertex(l)=q.row(j).vertex(l) for every j:Fin(L+1). SameRightUEdges means HEq(p.step(j).u(l),q.step(j).u(l)) for every j:Fin L. With the same top row these data determine equality of all rows, half-edges, actual numbered edges and recurrence proofs by finite level induction. No commutation hypothesis is used.

Definition 1.20 (The complete word in a finite numbered row).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.rowWord (✓ std3).

Source. Repository-derived.

Commentary.

Read edges in increasing i order, retaining each intervening vertex, group label and copy number. The zero-length result is the named nil path at r.vertex(0), which is also the final vertex.

Definition 1.21 (The actual subarray after the first layer).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.arrayTail (✓ std3).

Source. Repository-derived.

Commentary.

For data of length L+1, remove the first source layer. The resulting row(j),step(j),nextRow(j) are the original row(j+1),step(j+1),nextRow(j+1). Its source is exactly tail(data), not another chain with equal endpoint products.

Definition 1.22 (The source-indexed left U boundary).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.arrayLeftPath (✓ std3).

Source. Repository-derived.

Commentary.

This is the actual factor path (u_0^0,u_0^1,…,u_0^(L−1)), with each edge transported through nextRow to the matching next source row. Its initial endpoint is a_0^0 source and its final endpoint is a_0^L source. At L=0 it is the named nil path.

Definition 1.23 (The actual R output and bottom row).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.arrayOutput (✓ std3).

Source. Repository-derived.

Commentary.

LeftBoundaryAndBottomWord is the sigma over y:Fin(d_L) of FactorPath(forwardFactors(toChain(data)),row(0).vertex(0),y) times Word(A_L,l,y,row(L).vertex(l)). The constructor uses exactly y=row(L).vertex(0), the literal leftPath, and rowWord of the same array’s bottom row.

Theorem 1.24 (The sweep evaluates the literal same row).

Proof. Machine-checked in Lean as D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.g34_layerSweep (✓ std3). ∎

Source. Repository-derived.

Commentary.

G34FactorStep(U,V,r) is G34Step(UV,VU,U,V,rfl,rfl,r). The input is the sigma tuple (r.vertex(l),rowWord(UV,l,r),p.u(l)). The output is (p.next.vertex(0),p.u(0),rowWord(VU,l,p.next)). Thus the actual layerSweep evaluates this same legal G34 row, including its prescribed last U edge and every independent label and copy number. The proof recursively evaluates the right suffix and then its remaining local cell.

Definition 1.25 (Remove the first actual word edge).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.rowTail (✓ std3).

Source. Repository-derived.

Commentary.

For r of length l+1, vertex(i)=r.vertex(i.succ) and edge(i)=r.edge(i.succ). This preserves the full actual endpoints and numbered edges.

Definition 1.26 (Remove the first column of the same typed step).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.stepTail (✓ std3).

Source. Repository-derived.

Commentary.

The next row is rowTail(p.next). All u,v,theta,eta fields are restricted by i.succ. Both matrix equations remain the original hA,hB.

Definition 1.27 (Remove the last actual word edge).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.rowPrefix (✓ std3).

Source. Repository-derived.

Commentary.

For r of length l+1, vertex(i)=r.vertex(i.castSucc) and edge(i)=r.edge(i.castSucc), retaining every prefix endpoint and numbered edge.

Definition 1.28 (Remove the last column of every actual row).

Formalization. D5/S3/ConceptDynamics/Coding/CountedGroupChainPaths/PrescribedArrays.arrayPrefix (✓ std3).

Source. Repository-derived.

Commentary.

All rows use rowPrefix, all steps restrict their u,v,theta,eta fields by castSucc, and every nextRow proof is transported by rowPrefix. The original full indexed chain and both factor equations are unchanged.

References