The D_R degree-2 presentation comparison — single-relator obstruction (ticket R13b) #
The D_R = ⟨s, x, y | r₂⟩_{pro-2} analogue of the (non-module) Γ_A degree-2 bridge
GQ2/WordCoh2.lean. Because D_R has a single relator, the relator obstruction is a single
𝔽₂ value (not the tame/wild pair of Γ_A), so there is no "balance" (im d¹) condition: the
obstruction map lands in 𝔽₂ directly and injectivity is exactly the #H² ≤ 2 statement.
GQ2/WordCoh2.lean is not a module, so its generic central-extension algebra cannot be imported
here; the ## Generic central-extension algebra section below re-derives the pieces we need
(TwoCocycle, CentExt, FiberProd, zeroCocycle, coboundaryCocycle, Psi,
TwoCocycle.comap/projExt, exists_openNormalSubgroup_factor_two) verbatim in the GQ2.DRCoh
namespace. On top of that:
drRelZ m c— the fibre ofdrWordevaluated at the zero-fibre lift of a triplem : Fin 3 → L; naturality (drRelZ_comap), additivity (drRelZ_add), coboundary law (drRelZ_coboundary);- the profinite factoring
exists_twoCocycle_factor_DR(the generic compactness core applied to the pro-2 groupD_Rdirectly — the relation is inherited by every finite quotientD_R ⧸ V); DRLevelFactor/obs/obs_congr— the level-independent single-𝔽₂obstruction;- the injectivity keystone: when
obs = 0the relator dies exactly, sodrLiftHomdirectly builds a splitting sectionD_R → CentExt cand the pulled-back cocycle is a continuous coboundary; obsH2_DR : H²(D_R, 𝔽₂) →+ 𝔽₂, its injectivity, and the bridgeobsFun_DR_eq_of_factorcomputing the obstruction at any finite quotient — consumed byGQ2/Roe/DRH2.leanandDRDemushkin.lean.
Generic central-extension algebra (re-derived from GQ2/WordCoh2.lean) #
Verbatim ports of the generic-in-L declarations of the non-module GQ2/WordCoh2.lean, placed in
the fresh GQ2.DRCoh namespace to avoid any clash with GQ2.WordCoh2.* (both are visible in the
top-level GQ2.lean aggregate).
A ZMod 2-valued 2-cocycle on L, normalized at (1,1) (WordCoh2.TwoCocycle).
- κ : L → L → ZMod 2
The underlying 2-cochain.
- norm : self.κ 1 1 = 0
Normalization at the identity.
The 2-cocycle identity (trivial coefficients).
Instances For
The central extension L ×_κ ZMod 2 (WordCoh2.CentExt).
Equations
- GQ2.DRCoh.CentExt _c = (L × ZMod 2)
Instances For
Equations
- One or more equations did not get rendered due to their size.
The base projection CentExt c →* L.
Equations
- GQ2.DRCoh.CentExt.proj c = { toFun := GQ2.DRCoh.CentExt.base, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Equations
Level change: pulling a cocycle back along a group hom #
Pull back a 2-cocycle along φ : L' →* L.
Instances For
The base hom φ lifts to CentExt (c.comap φ) →* CentExt c.
Equations
- GQ2.DRCoh.projExt c φ = { toFun := fun (p : GQ2.DRCoh.CentExt (c.comap φ)) => (φ p.base, p.fib), map_one' := ⋯, map_mul' := ⋯ }
Instances For
Additivity infrastructure: sum cocycle and fiber product #
Pointwise sum of 2-cocycles.
Equations
- GQ2.DRCoh.instAddTwoCocycle = { add := fun (c₁ c₂ : GQ2.DRCoh.TwoCocycle L) => { κ := fun (a b : L) => c₁.κ a b + c₂.κ a b, norm := ⋯, cocyc := ⋯ } }
The fiber product CentExt c₁ ×_L CentExt c₂.
Equations
- GQ2.DRCoh.FiberProd _c₁ _c₂ = (L × ZMod 2 × ZMod 2)
Instances For
Base coordinate.
Equations
- p.base = p.1
Instances For
First fibre coordinate.
Equations
- p.fibA = p.2.1
Instances For
Second fibre coordinate.
Equations
- p.fibB = p.2.2
Instances For
Equations
- One or more equations did not get rendered due to their size.
Projection to the first central extension.
Equations
- GQ2.DRCoh.FiberProd.pr1 = { toFun := fun (p : GQ2.DRCoh.FiberProd c₁ c₂) => (p.base, p.fibA), map_one' := ⋯, map_mul' := ⋯ }
Instances For
Projection to the second central extension.
Equations
- GQ2.DRCoh.FiberProd.pr2 = { toFun := fun (p : GQ2.DRCoh.FiberProd c₁ c₂) => (p.base, p.fibB), map_one' := ⋯, map_mul' := ⋯ }
Instances For
The fibre-sum hom to the sum extension.
Equations
- GQ2.DRCoh.FiberProd.prSum = { toFun := fun (p : GQ2.DRCoh.FiberProd c₁ c₂) => (p.base, p.fibA + p.fibB), map_one' := ⋯, map_mul' := ⋯ }
Instances For
The split and coboundary cocycles #
The trivial (split) 2-cocycle κ ≡ 0.
Equations
- GQ2.DRCoh.zeroCocycle = { κ := fun (x x_1 : L) => 0, norm := GQ2.DRCoh.zeroCocycle._proof_1, cocyc := ⋯ }
Instances For
The fibre projection CentExt zeroCocycle →* Multiplicative 𝔽₂.
Equations
- GQ2.DRCoh.fibHom0 = { toFun := fun (p : GQ2.DRCoh.CentExt GQ2.DRCoh.zeroCocycle) => Multiplicative.ofAdd p.fib, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The coboundary 2-cocycle δ¹λ.
Equations
- GQ2.DRCoh.coboundaryCocycle lam hlam1 = { κ := fun (a b : L) => lam a + lam b + lam (a * b), norm := ⋯, cocyc := ⋯ }
Instances For
The trivialization hom Ψ_λ : (l, z) ↦ (l, z + λ l).
Equations
- GQ2.DRCoh.Psi lam hlam1 = { toFun := fun (p : GQ2.DRCoh.CentExt (GQ2.DRCoh.coboundaryCocycle lam hlam1)) => (p.base, p.fib + lam p.base), map_one' := ⋯, map_mul' := ⋯ }
Instances For
Two TwoCocycles with equal cochain are equal.
Factoring a continuous 2-variable map through a finite quotient #
Uniform local constancy (2-variable form) — WordCoh2.exists_openNormalSubgroup_factor_two,
generic in the profinite group G.
The three D_R generators m 0, m 1, m 2 placed in CentExt c with zero fibre.
Equations
- GQ2.drLift m c k = (m k, 0)
Instances For
The single-relator obstruction of a 2-cocycle c relative to the marking m : Fin 3 → L:
the fibre coordinate of drWord evaluated at the zero-fibre lift. The D_R analogue of
WordCoh2.relZPair, but a single 𝔽₂ value (one relator).
Equations
- GQ2.drRelZ m c = (GQ2.drWord (GQ2.drLift m c 0) (GQ2.drLift m c 1) (GQ2.drLift m c 2)).fib
Instances For
The base of the lifted relator value is the base relator value.
Level-independence. Pulling c back along φ and pushing the marking forward by φ give
the same obstruction (WordCoh2.relZPair_comap, single relator).
The fiber-product lift of a marking (both fibres zero).
Equations
- GQ2.drLiftFP m c₁ c₂ k = (m k, 0, 0)
Instances For
Additivity of the relator obstruction (WordCoh2.relZPair_add, single relator).
The obstruction of the split cocycle vanishes (WordCoh2.relZPair_zero).
The obstruction of a coboundary is lam of the base relator value
(WordCoh2.obs_coboundary_eq, single relator). It vanishes when the marking satisfies the
relation.
The named generator triple and its image obstruction #
The marked generators s, x, y of D_R, packaged as a triple.
Equations
- GQ2.drGens = ![GQ2.drS, GQ2.drX, GQ2.drY]
Instances For
Factoring a continuous cocycle through a finite quotient of D_R #
D_R is profinite and already the presented pro-2 group, so the generic compactness core applies
directly: a continuous 2-cocycle on D_R factors through a finite quotient D_R ⧸ V, and the
relation drWord (s,x,y) = 1 is inherited by that quotient (no N_A/admissibility machinery).
Factoring a normalized continuous 2-cocycle on D_R (WordCoh2.exists_twoCocycle_factor,
directly on D_R).
The level-independent obstruction DRLevelFactor.obs #
Every open normal subgroup of D_R has finite quotient.
A factorization of a D_R-cochain κ through a finite quotient D_R ⧸ V.
- V : OpenNormalSubgroup DRT
The finite level
D_R ⧸ V. - c : DRCoh.TwoCocycle (DRT ⧸ ↑self.V.toOpenSubgroup)
The finite-level 2-cocycle whose inflation is
κ.
Instances For
The relator obstruction of a factorization: the single-relator obstruction of the finite-level cocycle at the projected generators.
Equations
- F.obs = GQ2.drRelZ (fun (k : Fin 3) => (QuotientGroup.mk' ↑F.V.toOpenSubgroup) (GQ2.drGens k)) F.c
Instances For
Level-independence. F.obs may be computed at any finer level W through the pulled-back
cocycle F.c.comap proj.
Well-definedness. F.obs depends only on κ, not on the chosen factorization.
CentExt c over a finite quotient of the pro-2 group D_R is a finite 2-group, hence
pro-2 — the target hypothesis of drLiftHom.
The relation holds at every finite level #
The Roe relation drWord (s, x, y) = 1 is inherited by every finite quotient D_R ⧸ V.
The obstruction homomorphism and its injectivity #
Normalize a 2-cochain at (1,1) by subtracting the constant κ (1,1).
Equations
- GQ2.normalizeCochain κ = κ - fun (x : GQ2.DRT × GQ2.DRT) => κ (1, 1)
Instances For
A constant 2-cochain is a continuous coboundary.
The normalization of a continuous 2-cocycle factors through a finite quotient.
The per-cocycle obstruction.
Equations
- GQ2.obsFun_DR htriv φ = ⋯.some.obs
Instances For
obsFun_DR may be computed at any factorization of the normalization.
Additivity of the obstruction.
The obstruction homomorphism Z²_cont(D_R, 𝔽₂) →+ 𝔽₂.
Equations
- GQ2.obs_DR htriv = AddMonoidHom.mk' (GQ2.obsFun_DR htriv) ⋯
Instances For
The obstruction kills coboundaries #
obs kills B². A continuous coboundary normalizes to δ¹ψ' (ψ' 1 = 0), which factors
as coboundaryCocycle λ; its obstruction is λ (drWord (s,x,y)) = λ 1 = 0 (the relation dies at the
level).
Coboundary extraction. A continuous hom sect : D_R → CentExt c splitting the level
projection ((sect g).base = mk_V g) makes the level cocycle a continuous coboundary δ¹ (fib ∘ sect).
Injectivity keystone. A continuous 2-cocycle with obs = 0 is a continuous coboundary: the
relator dies exactly at the factoring level, so drLiftHom builds a splitting section and the level
cocycle is δ¹ (fib ∘ section).
Assembly: the descended obstruction and its injectivity #
The descended obstruction H²(D_R, 𝔽₂) →+ 𝔽₂.
Equations
- GQ2.obsH2_DR htriv = QuotientAddGroup.lift ((GQ2.ContCoh.B2 GQ2.DRT (ZMod 2)).addSubgroupOf (GQ2.ContCoh.Z2 GQ2.DRT (ZMod 2))) (GQ2.obs_DR htriv) ⋯
Instances For
The obstruction at an explicit factoring. For a continuous 2-cocycle φ factoring through
a finite quotient L as φ (g, h) = c.κ (ρ g) (ρ h), the obstruction is the single-relator
obstruction drRelZ (ρ ∘ (s, x, y)) c — the hook the Gram matrix of GQ2/Roe/DRH2.lean consumes.