Span-theorem foundation: shift words, grading, descent infra, the free pro-2 group #
(GL-campaign ticket GL0)
Text-moved out of StageLemma.lean (2026-07-26, statements byte-identical) so that the
GL-campaign files (GQ2/Roe/Labute/GradedLie/) can sit below StageLemma.lean in the
import graph: StageLemma imports GradedLie.SpanAssembly, which needs the definitions
here. Design record: docs/orchestration/span-gradedlie-plan.md.
Contents (in original StageLemma.lean order):
- the shift word shapes
dbarWordR0/dbarWordR2and their smoke lemmas; - the λ-grading lemma (
GRAD) section; - the descent infrastructure (
lambdaImage_inductionand friends); - the free pro-2 group
freeProTwo, its marked generators, universal property and topological generation (freeTopGenFinsetmade public in the move — the GL fills need thehfg-hypothesis shape); - NEW (GL0): the span-target subgroups
SpanTargetR0/R2— the verbatim right-hand sides of the frozenspan_free_r0/r2statements, kept as plain defs so the StageLemma fills are definitional.
The shift word shapes #
The r₀-side defect-shift word d̄(w) = w₁²·[w₁,a]·[w₂,y]·[w₃,s] at the triple
(a, s, y) (spike §2.2; repo commP). A word shape in any group; its homomorphism
property on Z-layer classes is part of the L4a calculus, not of the definition.
Equations
- GQ2.Roe.Labute.dbarWordR0 a s y w = w 0 ^ 2 * GQ2.commP (w 0) a * GQ2.commP (w 1) y * GQ2.commP (w 2) s
Instances For
The r₂-side defect-shift word d̄(u,v,w) = w²·[w,y]·[u,x]·[v,s] at the triple
(s, x, y) (spike §2.2 — note the r₂-tails/cross-terms pair (u,x), (v,s), not the
draft's (x, y) pairing).
Equations
- GQ2.Roe.Labute.dbarWordR2 s x y w = w 2 ^ 2 * GQ2.commP (w 2) y * GQ2.commP (w 0) x * GQ2.commP (w 1) s
Instances For
Naturality of the r₀-shift word (smoke).
Naturality of the r₂-shift word (smoke).
Abelian collapse (smoke): only the square survives — the cross terms are honest commutators.
Trivial modification, trivial shift (smoke).
Trivial modification, trivial shift, r₂ side (smoke).
The λ-grading lemma (L4b fill helper; Hall–Witt calculus) #
⁅λₐ, λᵦ⁆ ≤ λ_{a+b} — the graded-bracket bound underlying every depth estimate of the
span reduction (spike §2.5(a)'s identity list). Proved by induction on b via the three
subgroups lemma (transported from mathlib's ⊥-form through the quotient by λ_{a+b})
and the closed-subgroup trick for the topological closure step.
The three subgroups lemma, ≤ N-form: transport of
Subgroup.commutator_commutator_eq_bot_of_rotate through G ⧸ N.
One-step bound, subgroup form: ⁅λₐ, ⊤⁆ ≤ λ_{a+1}.
The λ-grading lemma (GRAD): ⁅λₐ, λᵦ⁆ ≤ λ_{a+b}.
Element form of the grading lemma.
Descent infrastructure (L4b fill helpers; not part of the frozen interface) #
For a topologically f.g. pro-2 G the level quotients are finite discrete groups, the
λ-series of Qₘ is the image of the λ-series of G (map_twoCentralSeries_eq along
levelMk), and in particular λₘ(Qₘ) = ⊥. These are the transport facts through which
the free span statement descends to the towers.
The level quotients of a topologically f.g. pro-2 group are discrete (λₘ is open).
The canonical projection levelMk is continuous.
λ-transport along levelMk: the two-index image λⱼλₘ/λₘ is the j-th layer of
the λ-series of the level quotient Qₘ (verbal functoriality for the continuous epi
levelMk, using discreteness of the target).
The λ-series of the level-m quotient vanishes at level m.
Mapping into a discrete group erases topological closures: the image of cl K is
the image of K (the preimage of the image subgroup is clopen).
Atomization of the layer images (L4b workhorse): for topologically f.g. pro-2 G,
a property closed under the group operations that holds on the residues of squares v²
and brackets ⁅v, g⁆ (v ∈ λⱼ, g ∈ G) holds on all of λ_{j+1}λₘ/λₘ ≤ Qₘ. This is
the mod-λₘ shadow of the verbal generation of λ_{j+1}, with the topological closure
erased by discreteness of the finite quotient.
The free pro-2 group on three generators #
The free pro-2 group F₃ on three generators — the only group in which the span
theorem is proved (spike §2.3: "The Lean statement only ever needs the free version");
the towers receive it by descent.
Equations
- GQ2.Roe.Labute.freeProTwo = GQ2.maxProPQuotient 2 ↑(GQ2.FreeProfiniteGroup (Fin 3)).toProfinite.toTop
Instances For
The marked generators of F₃.
Equations
- GQ2.Roe.Labute.freeGen i = (GQ2.maxProPMk 2 ↑(GQ2.FreeProfiniteGroup (Fin 3)).toProfinite.toTop) (GQ2.FreeProfiniteGroup.of i)
Instances For
Universal property of F₃ (L4b helper): a bare triple in a pro-2 group H
classifies a continuous hom F₃ → H — drLiftHom/d0LiftHom without the relator step.
Equations
- GQ2.Roe.Labute.freeProTwoLift hH m = (GQ2.maxProPHomEquiv hH).symm (ProfiniteGrp.Hom.hom ((GQ2.FreeProfiniteGroup.homEquiv (Fin 3) (ProfiniteGrp.of H)).symm m))
Instances For
F₃ is topologically generated by its marked generators (density of the abstract
free group in its profinite completion — ProfiniteGrp.ProfiniteCompletion.denseRange — pushed through
the surjective pro-2 projection; the AdmissibleLimit.lean generation pattern).
Finset form of topGen_freeProTwo (the hfg-hypothesis shape of the tower API;
made public in the GL0 move — the GL fills need it for the instance pack).
The span-target subgroups (GL0) #
The verbatim right-hand sides of the frozen span_free_r0/r2 statements, as plain
(rfl-transparent) defs: span_free_r0 in StageLemma.lean is filled by
span_free_r0_proof k hk : zLayer … k ≤ SpanTargetR0 k definitionally. Do NOT
restate or unfold-normalize these — the expressions must stay literally identical to
the frozen statement bodies.
The r₀ span target: d̄-image over λ_{k-1}-modifications at the marked generators,
together with the (S, Y)-tails (generators 1, 2).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The r₂ span target: tails at the (s, x)-slots = generators 0, 1 (the
relator-adapted pair).
Equations
- One or more equations did not get rendered due to their size.