The pluggable source interface: SourceData (the SourceData refactor, R30) #
The two-source assembly (thm_4_2, prop_8_9, prop_8_9_of) pins its candidate slot to
Γ_A through the BoundaryMaps A-side fields and the _gammaA supply lemmas. This file
extracts that slot into a single structure SourceData, so that a second presented source
(the note's Γ_R) can be plugged in beside G_ℚ₂ with zero further refactoring: R32
builds sourceR : SourceData and instantiates thm_4_2_of_sources (GQ2/ThmFourTwo.lean).
Contents #
sourceBoundaryMap— the eq. (27) bundlingb_Γ : Γ → ∂bdof a tame/pro-2 pair (theBoundaryMaps.bAconstruction, factored out so structure fields can name it).SourceData— the source groupΓ(bundledProfiniteGrp, the R31a carrier decision), its four marked generators, the boundary fields of eq. (27)/Prop 3.10/Prop 3.14 including the promotedker_pro2(the recon's 12 + 1), and the seven supply-obligation families (the recon's (ii) list = R31's worklist), each in the exact ∀-shape of its_gammaAwitness so theΓ_Ainstance is the untouched lemma.BoundaryMaps.sourceA— theΓ_Ainstance:BoundaryMapsA-fields +_gammaAlemmas.terminal_count_eq_of_sources— the §9.1 terminal count over an abstract source (SectionNine.terminal_count_eq's two-source assembly, replayed through the source-generic bridgesboundaryLifts_equiv_qlifts/qlifts_equiv_commonLifts).gaussZ_obtain_blockD_of_sources— the shared-G0obtain over an abstract source (SectionNine.gaussZ_obtain_blockDreplayed:mand the head dichotomy are source-independent; the source contributes exactly the two dichotomy leavesgaussZ_unramified/gaussZ_ramifiedat the externally givenG0 = ∓2^m).prop_8_9_of_sources—SectionEight.prop_8_9_of_sourceat a bundledSourceData.
Import discipline #
This file must stay plain-import (non-module): it imports the §8 stack
(Prop89Close and below), which is plain-import, and module-style files cannot import
plain files (the R31a pitfall; precedent: GQ2/Roe/Prop23.lean, GQ2/Roe/Supply.lean).
Axioms: none introduced — every statement here is assembled from proved material; the axiom footprints of the consumers are unchanged (the R30 regression gate).
The boundary map b_Γ : Γ → ∂bd of eq. (27), bundled from a tame/pro-2 pair with
the Prop 3.14 ν-compatibility — the BoundaryMaps.bA construction, factored out so that
SourceData fields can refer to the map determined by the structure's own fields.
Definitionally equal to B.bA at (B.tameA, B.pro2A, B.compatA).
Equations
- GQ2.sourceBoundaryMap tame pro2 compat = { toMonoidHom := (tame.prod pro2.toMonoidHom).codRestrict GQ2.boundarySubgroup ⋯, continuous_toFun := ⋯ }
Instances For
The pluggable source (the SourceData refactor): everything the two-source assembly
consumes about the candidate slot. Data fields = the eq. (27) boundary interface of a
presented source (Prop 3.10 / Prop 3.14, pinned by generator values as for Γ_A), with
ker_pro2 promoted to a field (the recon's 12 + 1; Γ_A derives it as
SectionNine.ker_pro2A, Γ_R from its max-pro-2 identification). Prop fields = the seven
supply-obligation families, each in the exact ∀-shape of its _gammaA witness, so
BoundaryMaps.sourceA is assembled from the untouched lemmas and sourceR from R31's.
- Γ : ProfiniteGrp.{0}
The source group, as a bundled profinite group (the R31a carrier decision: all topology/group instances flow from
ProfiniteGrp). - sigma : ↑self.Γ.toProfinite.toTop
The marked generator
σof the source presentation. - tau : ↑self.Γ.toProfinite.toTop
The marked generator
τ. - x0 : ↑self.Γ.toProfinite.toTop
The marked generator
x₀. - x1 : ↑self.Γ.toProfinite.toTop
The marked generator
x₁. The tame quotient map (eq. (27), tame component; Prop 3.2/Prop 3.14).
The maximal pro-2 quotient map (eq. (27), pro-2 component; Prop 3.10).
Generator pinning (Prop 3.14's proof):
tame σ = σ.Generator pinning:
tame τ = τ.Generator pinning:
tame x₀ = 1.Generator pinning:
tame x₁ = 1.Generator pinning (Prop 3.10):
pro2 σ = σ.Generator pinning:
pro2 τ = 1.Generator pinning:
pro2 x₀ = x₀.Generator pinning:
pro2 x₁ = x₁.Eq. (27): joint surjectivity of
b_Γ : Γ ↠ ∂bd.- ker_pro2 : self.pro2.ker = proPKernel 2 ↑self.Γ.toProfinite.toTop
The promoted field (recon 12 + 1):
pro2is the maximal pro-2 quotient map — its kernel is the pro-2 kernel of the maximal pro-p quotient API. (Γ_A:SectionNine.ker_pro2A; consumed by the §9.1 terminal identification.) - smulZmod2 : DistribMulAction (↑self.Γ.toProfinite.toTop) (ZMod 2)
The ambient
ZMod 2-scalar action of the source (trivial, byhtrivbelow) — the instance the (140)/Gauss-Zlayers are stated at (Γ_A: the global instance ofGQ2/RStage/GammaA.lean). - contSMulZmod2 : ContinuousSMul (↑self.Γ.toProfinite.toTop) (ZMod 2)
Continuity of the ambient scalar action.
The ambient scalar action is trivial (
Γ_A:RStageGammaA.htriv_gammaA).- tfg : ∃ (s : Finset ↑self.Γ.toProfinite.toTop), (Subgroup.closure ↑s).topologicalClosure = ⊤
(ii.1) topological finite generation (
Γ_A:gammaA_topologicallyFinitelyGenerated;Γ_R:gammaR_topologicallyFinitelyGenerated, R31a). - hom8 : Nat.card (↑self.Γ.toProfinite.toTop →ₜ* Multiplicative (ZMod 2)) = 8
(ii.2) Lemma 8.2:
#Hom_cont(Γ, 𝔽₂) = 8(Γ_A:lemma_8_2_gammaA;Γ_R:lemma_8_2_R, R31a). - cardH2 : Nat.card (ContCoh.H2 (↑self.Γ.toProfinite.toTop) (ZMod 2)) = 2
(ii.5, leaf)
#H²(Γ, 𝔽₂) = 2at the ambient (trivial) action (Γ_A:CardH2GammaA.card_H2_gammaA). - liftsOver_card {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} (RF : SectionEight.RecursionFrame T Blk) (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) (ρ : BoundaryLifts b F RF.TC) : Nat.card (RF.LiftsOver b F ρ) = Nat.card ↥RF.MB ^ 2
(ii.3) the
M-stage multiplicity (props 5.15/5.16):#LiftsOver(ρ) = |M_B|²over every lower boundary lift (Γ_A:RecursionFrame.liftsOver_card_gammaA). - lem86 {Bg : Type} [Group Bg] [TopologicalSpace Bg] [DiscreteTopology Bg] [Finite Bg] (D : SectionEight.RadicalCoverData Bg) : D.NoDescent → ∀ (ρ : ↑self.Γ.toProfinite.toTop →ₜ* Bg ⧸ D.M), Function.Surjective ⇑ρ → 2 * Nat.card { f : SectionEight.MLifts D ρ // SectionEight.MLifts.Central D f } = Nat.card (SectionEight.MLifts D ρ)
(ii.4) Lemma 8.6 (half-torsor count) ⟦lem-radicaledge⟧: with a nonzero radical edge, exactly half of the
M-lifts of a lower epimorphism satisfy the central relation (Γ_A:lemma_8_6_gammaA). - stageR136 {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [TopologicalSpace Y] [DiscreteTopology Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} (hE2 : ∀ (e : E), e ^ 2 = 1) (hRK : ∀ r ∈ Blk.frattiniK, ∀ k ∈ Blk.K, r * k = k * r) (hR2 : ∀ r ∈ Blk.frattiniK, r * r = 1) (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) : ↑(Nat.card (blockFrameImpl T Blk hE2).DR) * ↑(exactImageCount b F T) = ↑(blockFrameImpl T Blk hE2).zR * ∑ᶠ (l : (blockFrameImpl T Blk hE2).DR), (2 * ↑((blockFrameImpl T Blk hE2).mB b F l) - ↑(exactImageCount b F (blockFrameImpl T Blk hE2).TB))
- tcocycle_card {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} {RF : SectionEight.RecursionFrame T Blk} (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) (En : RF.Enrichment) (l : RF.DR) (h : l ≠ RF.zeroDR) (ρ : BoundaryLifts b F RF.TC) : Nat.card (SectionEight.CentralObstruction.TCocycle (En.radData l h) (RF.rhoPrime b F (En.radData l h) ⋯ ρ)) = Nat.card (Additive ↥(En.radData l h).T) ^ 2 * Nat.card ↑(FoxH.fixedPts (RF.YB ⧸ (En.radData l h).M) (FoxH.ElemDual (Additive ↥(En.radData l h).T)))
(ii.6) the
T-cocycle count in themuZeroclosed form (Γ_A:Phase140GammaA.tcocycle_card_gammaA). - hsep {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} {RF : SectionEight.RecursionFrame T Blk} (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) (En : RF.Enrichment) (l : RF.DR) (h : l ≠ RF.zeroDR) (Dsc : SectionEight.AffineTLift.Descent (En.radData l h)) (ρ : BoundaryLifts b F RF.TC) (c : SectionEight.AffineTLift.VCocycle (En.descData l h) (RF.rhoPrime b F (En.radData l h) ⋯ ρ)) : (∀ (χ : ↥(SectionEight.AffineTLift.TCharC (En.radData l h))), SectionEight.AffineTLift.betaChi (SectionEight.descSections En l h Dsc) ⋯ χ c = 0) → SectionEight.AffineTLift.TLiftable ⋯ c
(ii.6) the
(T^∨)^C-separation: aV-coordinate whoseχ-obstructions all vanish isT-liftable (Γ_A:Phase140GammaA.hsep_gammaA). - hpartial {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} {RF : SectionEight.RecursionFrame T Blk} (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) (En : RF.Enrichment) (l : RF.DR) (h : l ≠ RF.zeroDR) (Dsc : SectionEight.AffineTLift.Descent (En.radData l h)) (ρ : BoundaryLifts b F RF.TC) (χ : ↥(SectionEight.AffineTLift.TCharC (En.radData l h))) : χ ≠ 0 → ∃ (c : SectionEight.AffineTLift.VCocycle (En.descData l h) (RF.rhoPrime b F (En.radData l h) ⋯ ρ)), SectionEight.AffineTLift.betaChi (SectionEight.descSections En l h Dsc) ⋯ χ c ≠ SectionEight.AffineTLift.betaChi (SectionEight.descSections En l h Dsc) ⋯ χ 0
(ii.6) nondegeneracy of the obstruction pairing in the character (
Γ_A:Phase140GammaA.hpartial_gammaA). - hZcard {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [Finite Y] {T : MarkedTarget H E Y} {Blk : SectionSeven.MinimalBlock T.LY} {RF : SectionEight.RecursionFrame T Blk} (b : ↑self.Γ.toProfinite.toTop →ₜ* ↥boundarySubgroup) (F : BoundaryFrame H E) (En : RF.Enrichment) (l : RF.DR) (h : l ≠ RF.zeroDR) : (∀ (W : AddSubgroup En.Vmod), (∀ (g : RF.YC), ∀ w ∈ W, g • w ∈ W) → W = ⊥ ∨ W = ⊤) → (∃ (v : En.Vmod), v ≠ 0) → (∃ (g : RF.YC) (v : En.Vmod), g • v ≠ v) → ∀ (ρ : BoundaryLifts b F RF.TC), Nat.card (SectionEight.AffineTLift.VCocycle (En.descData l h) (RF.rhoPrime b F (En.radData l h) ⋯ ρ)) = Nat.card En.Vmod * Nat.card En.Vmod
(ii.6) the
V-cocycle count#Z¹_{Γ,ρ'}(V) = #V²under the simple nontrivialY_C-action (Γ_A:Phase140GammaA.hZcard_gammaA). - gaussZ_unramified {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [TopologicalSpace Y] [DiscreteTopology Y] [Finite Y] (T : MarkedTarget H E Y) (Blk : SectionSeven.MinimalBlock T.LY) [Blk.frattiniK.Normal] [(Blk.S.subgroupOf Blk.P).Normal] [Blk.K.Normal] (hE2 : ∀ (e : E), e ^ 2 = 1) (F : BoundaryFrame H E) (hsimple : ∀ (W : AddSubgroup (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), (∀ (g : (SectionNine.blockFrame T Blk hE2).YC), ∀ w ∈ W, g • w ∈ W) → W = ⊥ ∨ W = ⊤) (hVne : ∃ (v : (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), v ≠ 0) (hnt : ∃ (g : (SectionNine.blockFrame T Blk hE2).YC) (v : (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), g • v ≠ v) (m : ℕ) (hm : 1 ≤ m) (hcard : Nat.card (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod = 2 ^ (2 * m)) (l : (SectionNine.blockFrame T Blk hE2).DR) (h : l ≠ (SectionNine.blockFrame T Blk hE2).zeroDR) (hunram : ∀ (v : Additive (↥Blk.P ⧸ Blk.S.subgroupOf Blk.P)), F.alpha tameTau • v = v) : SectionEight.GaussZResidue (sourceBoundaryMap self.tame self.pro2 ⋯) F (SectionNine.blockEnrichmentD T Blk hE2 F) l h (-2 ^ m)
(ii.7) the Gauss-
Zresidue, unramified head (the (83)-evaluation at the externally givenG0 = −2^m— the recon's shared-G0seam): at the head-inflated enrichment, with the head dichotomyF.alpha τ-trivial (Γ_A:SectionNine.gaussZResidueD_gammaA_unramified). - gaussZ_ramified {H E : Type} [Group H] [TopologicalSpace H] [DiscreteTopology H] [Finite H] [CommGroup E] [TopologicalSpace E] [DiscreteTopology E] [Finite E] {Y : Type} [Group Y] [TopologicalSpace Y] [DiscreteTopology Y] [Finite Y] (T : MarkedTarget H E Y) (Blk : SectionSeven.MinimalBlock T.LY) [Blk.frattiniK.Normal] [(Blk.S.subgroupOf Blk.P).Normal] [Blk.K.Normal] (hE2 : ∀ (e : E), e ^ 2 = 1) (F : BoundaryFrame H E) (hsimple : ∀ (W : AddSubgroup (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), (∀ (g : (SectionNine.blockFrame T Blk hE2).YC), ∀ w ∈ W, g • w ∈ W) → W = ⊥ ∨ W = ⊤) (hVne : ∃ (v : (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), v ≠ 0) (hnt : ∃ (g : (SectionNine.blockFrame T Blk hE2).YC) (v : (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod), g • v ≠ v) (m : ℕ) (hm : 1 ≤ m) (hcard : Nat.card (SectionNine.blockEnrichmentD T Blk hE2 F).Vmod = 2 ^ (2 * m)) (l : (SectionNine.blockFrame T Blk hE2).DR) (h : l ≠ (SectionNine.blockFrame T Blk hE2).zeroDR) (hram : ∃ (v : Additive (↥Blk.P ⧸ Blk.S.subgroupOf Blk.P)), F.alpha tameTau • v ≠ v) : SectionEight.GaussZResidue (sourceBoundaryMap self.tame self.pro2 ⋯) F (SectionNine.blockEnrichmentD T Blk hE2 F) l h (2 ^ m)
(ii.7) the Gauss-
Zresidue, ramified head (G0 = +2^m;Γ_A:SectionNine.gaussZResidueD_gammaA_ramified).
Instances For
Surjectivity of the source's pro-2 coordinate, derived from the joint surjectivity
surj (the terminal_count_eq hpro2A_surj derivation, source-generic).
The Γ_A instance of the source interface: the BoundaryMaps A-side fields and
the untouched _gammaA supply lemmas, assembled. (ker_pro2 is SectionNine.ker_pro2A,
the derivation from the generator values + prop_3_10_gammaA; the scalar action is the
global trivial instance of GQ2/RStage/GammaA.lean.)
Equations
- One or more equations did not get rendered due to their size.
Instances For
The load-bearing definitional identity of the flip: sourceA's boundary map is
B.bA (by rfl), so re-deriving the Γ_A capstones from the _of_sources forms changes
no statement.
The §9.1 terminal count over an abstract source (the SourceData refactor):
SectionNine.terminal_count_eq with the candidate slot abstracted — the source enters only
through b, pro2, surj and the promoted ker_pro2, via the source-generic bridges
boundaryLifts_equiv_qlifts / qlifts_equiv_commonLifts at the (source-independent)
Lemma 9.2 splitting datum.
The shared-G0 obtain over an abstract source (the SourceData refactor, the
recon's external-G0 seam): SectionNine.gaussZ_obtain_blockD replayed — the exponent m
(from the nonsingular form, source-independent) and the head dichotomy (on
F.alpha τ, source-independent) are decided once, and each source contributes exactly its
dichotomy leaf at the resulting G0 = ∓2^m: the abstract slot through
gaussZ_unramified/gaussZ_ramified, the G_ℚ₂ slot through the proved local twins.
Proposition 8.9 over a bundled source (the SourceData refactor): the recon's
"prop_8_9 runs over a SourceData instance" form — SectionEight.prop_8_9_of_source fed
from the structure's fields. R32 consumes this at sourceR; the Γ_A capstone
SectionEight.prop_8_9 is (equivalently) the same statement at B.sourceA, re-derived in
GQ2/Prop89Close.lean directly from the unbundled form.
Paper-tag ledger (auto-generated by paperforge; do not edit) #
- eq. (27) = ⟦eq-boundarymap⟧
- Lemma 8.2 = ⟦lem-scalarcount⟧
- Lemma 8.6 = ⟦lem-radicaledge⟧
- Lemma 9.2 = ⟦lem-oddsplit⟧
- Prop 3.10 = ⟦prop-pro2⟧
- Prop 3.14 = ⟦prop-compatiblemarking⟧
- Proposition 8.9 = ⟦thm-closedrecursion⟧ (= theorem 8.17 in current tex)