freeBoundaryKernel_decomposesIntoCyclicEdgeLists_of_largeSupport
plain-language theorem explainer
Assuming the large-support repeated-vertex extraction step, every balanced free singular 1-chain on the circle decomposes as a finite sum of cyclic edge-list terms. Anyone closing the generation half of $H_1(S^1;\mathbb{Z})\cong\mathbb{Z}$ via finite-flow decomposition would cite this packaging lemma. The proof is a one-line composition: lift the large-support hypothesis to the full extraction step, then invoke strong induction on support cardinality.
Claim. If every balanced nonzero free singular $1$-chain with edge-support cardinality greater than one splits as one cyclic edge-list term plus a balanced residual of strictly smaller support, then every balanced free singular $1$-chain equals a finite list-sum of cyclic edge-list terms.
background
This module lifts the path-level winding/displacement invariant of the circle to singular simplices of $S^1$, and proves that displacement kills boundaries: for every singular $2$-simplex the alternating face sum of displacements vanishes. Together with the fact that the once-around generator has winding $1$, that yields the split-injective half of $H_1(S^1;\mathbb{Z})\cong\mathbb{Z}$. The converse (generation) needs a finite decomposition of balanced free $1$-chains into cyclic pieces.
The target proposition says: every free singular $1$-chain $c$ with vanishing free boundary equals a finite list-sum of cyclic singular edge-list terms. The one-step extraction proposition says a nonzero balanced chain can be peeled into one cyclic piece plus a balanced residual of strictly smaller edge-support. Strong induction on support cardinality turns any such one-step extractor into the full finite decomposition.
The remaining open finite-flow input is the large-support case: support cardinality $>1$. Zero, singleton, and loop-edge branches are already closed; the large-support extraction packages exactly that residual case.
proof idea
One-line term-mode wrapper. First apply the packaging lemma that turns the large-support extraction hypothesis into a full one-step cyclic extraction (it case-splits on support cardinality $\le 1$, discharging the small cases by the already-proved singleton/zero extractor, and hands the $>1$ case to the hypothesis). Then feed that full extraction step into the strong-induction theorem, which builds the finite cyclic edge-list decomposition by induction on edge-support cardinality.
why it matters
This is the last packaging step before the Mathlib $H_1$ isomorphism for the circle can be stated purely in terms of the genuine remaining finite-flow target. The sole downstream consumer is the final closure theorem: given large-support extraction and a zero-winding filling bound, one obtains the integer comparison isomorphism $H_1(S^1;\mathbb{Z})\cong\mathbb{Z}$. That downstream result quotes this lemma explicitly as the bridge from large-support extraction to the abstract cyclic-edge-list decomposition, then composes with the zero-winding bound.
In the module's own terms, this discharges the generation half of the winding homomorphism story: every $1$-cycle becomes homologous to an integer multiple of the fundamental cycle once balanced free flows decompose into cyclic edge lists. No Recognition forcing-chain landmark (T0–T8, RCL, $\varphi$) is directly at stake; the stake is the singular-homology foundation that later geometric arguments sit on. The only remaining scaffold is the large-support extraction hypothesis itself, plus the zero-winding bound.
Switch to Lean above to see the machine-checked source, dependencies, and usage graph.