6. Linear lifting theory and duality
-
GQ2.FoxH.classTwoCore[complete] -
GQ2.FoxH.classTwoIdentity[complete] -
GQ2.FoxH.classTwoIdentity_id[complete]
Lemma 5.2 of the paper (Exact class-two identity).
Let
1\longrightarrow Z\longrightarrow\widetilde V\longrightarrow V\longrightarrow1
be a central extension in which V and Z are elementary abelian 2-groups,
and let \phi be an automorphism of \widetilde V fixing Z. For
X,D\in\widetilde V, put
\mathfrak h_\phi(X,D) =\phi(X)X\,\phi(D)D\,D^2[\phi(D),D].
Then
\mathfrak h_\phi(X,D)=\phi(X)X D^{-1}\phi(D).
Consequently:
-
if
DandXhave the same image inV, then\mathfrak h_\phi(X,D)=X^2; -
if
\phiis the identity, then\mathfrak h_\phi(X,D)=X^2for everyD.
Lean code for Lemma6.1●3 theorems
Associated Lean declarations
-
GQ2.FoxH.classTwoCore[complete]
-
GQ2.FoxH.classTwoIdentity[complete]
-
GQ2.FoxH.classTwoIdentity_id[complete]
-
GQ2.FoxH.classTwoCore[complete] -
GQ2.FoxH.classTwoIdentity[complete] -
GQ2.FoxH.classTwoIdentity_id[complete]
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.classTwoCore.{u_1} {G : Type u_1} [Group G] (A B : G) (hcentral : ∀ (z : G), GQ2.commP A B * z = z * GQ2.commP A B) (hk2 : GQ2.commP A B * GQ2.commP A B = 1) (hB4 : B ^ 4 = 1) : A * B * B ^ 2 * GQ2.commP A B = B⁻¹ * A
theorem GQ2.FoxH.classTwoCore.{u_1} {G : Type u_1} [Group G] (A B : G) (hcentral : ∀ (z : G), GQ2.commP A B * z = z * GQ2.commP A B) (hk2 : GQ2.commP A B * GQ2.commP A B = 1) (hB4 : B ^ 4 = 1) : A * B * B ^ 2 * GQ2.commP A B = B⁻¹ * A
**Lemma 5.2, core cancellation.** If the commutator `k = [A,B]` (`commP` convention `A⁻¹B⁻¹AB`) is central and satisfies `k² = 1`, and `B⁴ = 1`, then `A·B·B²·[A,B] = B⁻¹·A`. This is display (32) after cancelling the common prefix `ϕ(X)·X` (with `A = ϕ(D)`, `B = D`). The proof is the paper's: from `A·B = B·A·k` (`hcomm`), `k` central and `k² = 1` give that `A` commutes with `B²`, and `B³ = B⁻¹`; then `A·B·B²·k = B·A·B² = B³·A = B⁻¹·A`. The associativity bookkeeping is discharged by right-normalising with `simp only [mul_assoc, …]`, feeding the commutator relation in the right-associated form `A·(B·x) = B·(A·(k·x))` so it fires under the normal form.
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.classTwoIdentity.{u_1} {G : Type u_1} [Group G] (φ : G → G) (X D : G) (hcentral : ∀ (z : G), GQ2.commP (φ D) D * z = z * GQ2.commP (φ D) D) (hk2 : GQ2.commP (φ D) D * GQ2.commP (φ D) D = 1) (hD4 : D ^ 4 = 1) : φ X * X * φ D * D * D ^ 2 * GQ2.commP (φ D) D = φ X * X * D⁻¹ * φ D
theorem GQ2.FoxH.classTwoIdentity.{u_1} {G : Type u_1} [Group G] (φ : G → G) (X D : G) (hcentral : ∀ (z : G), GQ2.commP (φ D) D * z = z * GQ2.commP (φ D) D) (hk2 : GQ2.commP (φ D) D * GQ2.commP (φ D) D = 1) (hD4 : D ^ 4 = 1) : φ X * X * φ D * D * D ^ 2 * GQ2.commP (φ D) D = φ X * X * D⁻¹ * φ D
**Lemma 5.2, display (32)**: `h_ϕ(X,D) = ϕ(X)·X·ϕ(D)·D·D²·[ϕ(D),D] = ϕ(X)·X·D⁻¹·ϕ(D)`, whenever `[ϕ(D),D]` is central of order ≤ 2 and `D⁴ = 1`. (`ϕ` need not be a homomorphism for the identity; the paper's `ϕ` is a `Z`-fixing automorphism, which is what makes the hypotheses hold for the actual `h₀`.)
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.classTwoIdentity_id.{u_1} {G : Type u_1} [Group G] (X D : G) (hD4 : D ^ 4 = 1) : X * X * D * D * D ^ 2 * GQ2.commP D D = X ^ 2
theorem GQ2.FoxH.classTwoIdentity_id.{u_1} {G : Type u_1} [Group G] (X D : G) (hD4 : D ^ 4 = 1) : X * X * D * D * D ^ 2 * GQ2.commP D D = X ^ 2
**Lemma 5.2(ii)**: when `ϕ = id`, `h_ϕ(X,D) = X²` for every `D` (`[D,D] = 1`). Used in the split (`P = 1`) branch of the `h₀`-shadow, where `g₀ = σ₂²` acts trivially.
-
GQ2.FoxH.lemma_5_6[complete]
Lemma 5.6 of the paper (Strict coefficient naturality).
For every C-module map f:A\to A', the mixed derivatives satisfy
\beta^{A'}_{\rho,r}(f_*a,\lambda') =\beta^A_{\rho,r}(a,f^\vee\lambda').
Lean code for Lemma6.2●1 theorem
Associated Lean declarations
-
GQ2.FoxH.lemma_5_6[complete]
-
GQ2.FoxH.lemma_5_6[complete]
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.lemma_5_6.{u_1, u_2, u_3} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {A' : Type u_3} [AddCommGroup A'] [DistribMulAction C A'] [Finite A] [Finite A'] [Finite C] (f : A →+ A') (hf : ∀ (g : C) (a : A), f (g • a) = g • f a) (t : GQ2.Marking C) (x : Fin 4 → A) (y' : Fin 4 → GQ2.FoxH.ElemDual A') : GQ2.FoxH.mixedB t (fun i => f (x i)) y' = GQ2.FoxH.mixedB t x fun i => AddMonoidHom.comp (y' i) f
theorem GQ2.FoxH.lemma_5_6.{u_1, u_2, u_3} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {A' : Type u_3} [AddCommGroup A'] [DistribMulAction C A'] [Finite A] [Finite A'] [Finite C] (f : A →+ A') (hf : ∀ (g : C) (a : A), f (g • a) = g • f a) (t : GQ2.Marking C) (x : Fin 4 → A) (y' : Fin 4 → GQ2.FoxH.ElemDual A') : GQ2.FoxH.mixedB t (fun i => f (x i)) y' = GQ2.FoxH.mixedB t x fun i => AddMonoidHom.comp (y' i) f
**Lemma 5.6 (strict coefficient naturality)**, in the traced form Prop 5.10 uses: for an equivariant `f : A → A'`, `B_{A'}(f∗x, y') = B_A(x, f^∨ y')`. Proof (the paper's "evaluate in the mixed Heisenberg group"): the two markings live in `H(A') ⋊ C` and `H(A) ⋊ C`, related by `f` on the `A`-slot and `f^∨` on the dual slot. They both sit inside the **mixed subgroup** `S ≤ H(A') ⋊ C × H(A) ⋊ C` cut out by "`f`-related `a`/`λ`, equal `z`, equal `g`" — a subgroup precisely because `f` is `C`-equivariant. The two projections `π₁, π₂ : S →* …` carry the mixed marking to the two sides (`Marking.map_tameValue`/`map_wildValue`, the latter needing `S` finite for the `ω₂`-powers), and `S`'s defining `z`-equation makes the two relator `z`-coordinates agree — which is exactly the claim. (Requires `A`, `A'`, `C` finite, the paper's finite setting: `map_wildValue`'s `ω₂` push needs the source group finite.)
-
GQ2.FoxH.lemma_5_7_left[complete] -
GQ2.FoxH.lemma_5_7_right[complete]
Lemma 5.7 of the paper (Finite-word Stokes formula).
Let F_n=\langle g_1,\dots,g_n\rangle be a free group, let
\rho:F_n\to C be a homomorphism to a finite group, and write
c_i=\rho(g_i). Let r\in F_n be an ordinary finite word with
\rho(r)=1, and let
\epsilon_i(r)\in\F_2 be the total exponent of g_i in r, reduced modulo
2.
For x=(x_i)\in A^n and y=(y_i)\in(A^\vee)^n, evaluate r after replacing
g_i by (x_i,y_i,0;c_i)\in\mathcal H(A)\rtimes C. Write the result as
\bigl(L_r^A(x),L_r^{A^\vee}(y),\beta_r(x,y);1\bigr).
Then, for a\in A and \lambda\in A^\vee,
beta_r(d^0a,y) &=langle a,L_r^{notn{Amod}{A}^vee}(y)rangle +sum_{i=1}^nepsilon_i(r),y_i(c_i a), beta_r(x,d^0lambda) &=langle L_r^notn{Amod}{A}(x),lambdarangle +sum_{i=1}^nepsilon_i(r),lambda(x_i),
where
d^0a=((c_i-1)a)_i, \qquad d^0\lambda=((c_i-1)\lambda)_i.
Consequently, for words r_1,\dots,r_m and coefficients
t_j\in\F_2 satisfying
\sum_{j=1}^m t_j\epsilon_i(r_j)=0 \qquad(1\le i\le n),
the corresponding traced mixed coordinate satisfies the two Stokes identities without correction terms.
Lean code for Lemma6.3●2 theorems
Associated Lean declarations
-
GQ2.FoxH.lemma_5_7_left[complete]
-
GQ2.FoxH.lemma_5_7_right[complete]
-
GQ2.FoxH.lemma_5_7_left[complete] -
GQ2.FoxH.lemma_5_7_right[complete]
-
theoremdefined in GQ2/FoxHeisenberg/Heisenberg.leancomplete
theorem GQ2.FoxH.lemma_5_7_left.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {n : ℕ} (c : Fin n → C) (r : FreeGroup (Fin n)) (hr : (FreeGroup.lift c) r = 1) (a : A) (y : Fin n → GQ2.FoxH.ElemDual A) : ((GQ2.FoxH.stokesEval c (fun i => c i • a - a) y) r).z = ((GQ2.FoxH.stokesEval c 0 y) r).l a + ∑ i, Multiplicative.toAdd ((GQ2.FoxH.expMod2 i) r) * (y i) (c i • a)
theorem GQ2.FoxH.lemma_5_7_left.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {n : ℕ} (c : Fin n → C) (r : FreeGroup (Fin n)) (hr : (FreeGroup.lift c) r = 1) (a : A) (y : Fin n → GQ2.FoxH.ElemDual A) : ((GQ2.FoxH.stokesEval c (fun i => c i • a - a) y) r).z = ((GQ2.FoxH.stokesEval c 0 y) r).l a + ∑ i, Multiplicative.toAdd ((GQ2.FoxH.expMod2 i) r) * (y i) (c i • a)
**Lemma 5.7, display (38)**: for a word `r` with trivial lower value, evaluating at the generic coboundary `x = d⁰a = ((cᵢ−1)a)ᵢ` gives `β_r(d⁰a, y) = ⟨a, L^{A^∨}_r(y)⟩ + Σᵢ εᵢ(r)·yᵢ(cᵢa)`. -
theoremdefined in GQ2/FoxHeisenberg/Heisenberg.leancomplete
theorem GQ2.FoxH.lemma_5_7_right.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {n : ℕ} (c : Fin n → C) (r : FreeGroup (Fin n)) (_hr : (FreeGroup.lift c) r = 1) (x : Fin n → A) (lam : GQ2.FoxH.ElemDual A) : ((GQ2.FoxH.stokesEval c x fun i => c i • lam - lam) r).z = lam ((GQ2.FoxH.stokesEval c x 0) r).a + ∑ i, Multiplicative.toAdd ((GQ2.FoxH.expMod2 i) r) * lam (x i)
theorem GQ2.FoxH.lemma_5_7_right.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] {n : ℕ} (c : Fin n → C) (r : FreeGroup (Fin n)) (_hr : (FreeGroup.lift c) r = 1) (x : Fin n → A) (lam : GQ2.FoxH.ElemDual A) : ((GQ2.FoxH.stokesEval c x fun i => c i • lam - lam) r).z = lam ((GQ2.FoxH.stokesEval c x 0) r).a + ∑ i, Multiplicative.toAdd ((GQ2.FoxH.expMod2 i) r) * lam (x i)
**Lemma 5.7, display (39)**: the dual-variable form, `β_r(x, d⁰λ) = ⟨L^A_r(x), λ⟩ + Σᵢ εᵢ(r)·λ(xᵢ)`. (The lower-value hypothesis `hr` is recorded for symmetry with the left form; the dual central defect is `g`-independent, so it is not needed here.)
-
GQ2.FoxH.prop_5_8_left[complete] -
GQ2.FoxH.prop_5_8_right[complete]
Proposition 5.8 of the paper (Traced finite-word Stokes identity).
Let \beta_{\mathrm t} and \beta_{\mathrm w} be the mixed central
coordinates obtained from the tame and wild relators, and set
\mathcal B_{\rho,A}=\beta_{\mathrm t}+\beta_{\mathrm w}.
Let L_{\mathrm t} and L_{\mathrm w} denote the two unnormalized first
relation differentials. Then, before passage to cohomology,
mathcal B_{rho,notn{Amod}{A}}(d^0_{rho,notn{Amod}{A}}a,y) &=langle a, L_{mathrm t}^{notn{Amod}{A}^vee}(y)+L_{mathrm w}^{notn{Amod}{A}^vee}(y)rangle, mathcal B_{rho,notn{Amod}{A}}(x,d^0_{rho,notn{Amod}{A}^vee}lambda) &=langle L_{mathrm t}^{notn{Amod}{A}}(x)+L_{mathrm w}^{notn{Amod}{A}}(x),lambdarangle.
The identities are natural in A. They are assertions about the sum of the
two relator coordinates; in general they are false for either relator
separately.
Lean code for Proposition6.4●2 theorems
Associated Lean declarations
-
GQ2.FoxH.prop_5_8_left[complete]
-
GQ2.FoxH.prop_5_8_right[complete]
-
GQ2.FoxH.prop_5_8_left[complete] -
GQ2.FoxH.prop_5_8_right[complete]
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.prop_5_8_left.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] [Finite A] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (a : A) (y : Fin 4 → GQ2.FoxH.ElemDual A) : GQ2.FoxH.mixedB t ((GQ2.FoxH.d0 t) a) y = ((GQ2.FoxH.d1Fun t y).1 + (GQ2.FoxH.d1Fun t y).2) a
theorem GQ2.FoxH.prop_5_8_left.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] [Finite A] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (a : A) (y : Fin 4 → GQ2.FoxH.ElemDual A) : GQ2.FoxH.mixedB t ((GQ2.FoxH.d0 t) a) y = ((GQ2.FoxH.d1Fun t y).1 + (GQ2.FoxH.d1Fun t y).2) a
**Prop 5.8, display (41)** (= chain identity (47) of Prop 5.10 under the canonical identifications): `B_{ρ,A}(d⁰a, y) = ⟨a, L^{A^∨}_t(y) + L^{A^∨}_w(y)⟩`, where the dual first relation differentials are `d1Fun` on `A^∨`. The proof follows the paper's statement on p. 17. The tame summand is `mixedB_tameRow` — `⟨a, L^{A^∨}_t(y)⟩ + y_τ(τ·a)` (tame ε-vector `(0,1,0,0)`, `expMod2_fgTame`); the wild summand comes from `bridge_wild` + `lemma_5_7_left` with ε-vector `(0, e, 0, e+1) = (0,1,0,0)` at the odd `ω₂`-representative (`expMod2_wildValueExp`), i.e. `⟨a, L^{A^∨}_w(y)⟩ + y_τ(τ·a)`; the two `y_τ(τ·a)` corrections cancel (char 2), which is exactly condition (40) for the `(1,1)` trace. (An earlier apparent inconsistency here was a repo-side `h₀` transcription bug, resolved — see `docs/erratum-h0-transcription.md`.) -
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.prop_5_8_right.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] [Finite A] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (x : Fin 4 → A) (lam : GQ2.FoxH.ElemDual A) : GQ2.FoxH.mixedB t x ((GQ2.FoxH.d0 t) lam) = lam ((GQ2.FoxH.d1Fun t x).1 + (GQ2.FoxH.d1Fun t x).2)
theorem GQ2.FoxH.prop_5_8_right.{u_1, u_2} {C : Type u_1} [Group C] {A : Type u_2} [AddCommGroup A] [DistribMulAction C A] [Finite A] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (x : Fin 4 → A) (lam : GQ2.FoxH.ElemDual A) : GQ2.FoxH.mixedB t x ((GQ2.FoxH.d0 t) lam) = lam ((GQ2.FoxH.d1Fun t x).1 + (GQ2.FoxH.d1Fun t x).2)
**Prop 5.8, display (42)** (= chain identity (48)): `B_{ρ,A}(x, d⁰λ) = ⟨L_t(x)+L_w(x), λ⟩`. Proved as stated: `mixedB = tameRow + wildRow`, and the two `λ(x_τ)` corrections cancel (char 2).
-
GQ2.FoxH.lemma_5_11[complete] -
GQ2.FoxH.selfdualW_two_of_three[complete]
Lemma 5.11 of the paper (Exact cone dévissage).
For an elementary \F_2[C]-module A, put
K(A)=\Cone\!\left( D_{\rho,A}:C^\bullet_{\rho,A}\longrightarrow \Hom_{\F_2}(C^\bullet_{\rho,A^\vee},\F_2)[-2] \right).
For every short exact sequence of finite \F_2[C]-modules
0\longrightarrow A'\longrightarrow A\longrightarrow A''\longrightarrow0,
there is a degreewise short exact sequence of complexes
0\longrightarrow K(A')\longrightarrow K(A)\longrightarrow K(A'') \longrightarrow0.
Consequently, if two of K(A'), K(A), and K(A'') are acyclic, then so is
the third. In particular, acyclicity for all simple modules implies
acyclicity for every elementary module, including nonsplit and
nonsemisimple modules.
Lean code for Lemma6.5●2 theorems
Associated Lean declarations
-
GQ2.FoxH.lemma_5_11[complete]
-
GQ2.FoxH.selfdualW_two_of_three[complete]
-
GQ2.FoxH.lemma_5_11[complete] -
GQ2.FoxH.selfdualW_two_of_three[complete]
-
theoremdefined in GQ2/Devissage/GeneratesBridge.leancomplete
theorem GQ2.FoxH.lemma_5_11.{u_1, u_2, u_3, u_4} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} {A' : Type u_3} {A'' : Type u_4} [AddCommGroup A] [DistribMulAction C A] [AddCommGroup A'] [DistribMulAction C A'] [AddCommGroup A''] [DistribMulAction C A''] [Finite A'] [Finite A] [Finite A''] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hA₂ : ∀ (a : A), a + a = 0) (f : A' →+ A) (g : A →+ A'') (hf : ∀ (c : C) (a : A'), f (c • a) = c • f a) (hg : ∀ (c : C) (a : A), g (c • a) = c • g a) (hinj : Function.Injective ⇑f) (hsurj : Function.Surjective ⇑g) (hexact : f.range = g.ker) : (GQ2.FoxH.IsSelfDual t A' ∧ GQ2.FoxH.IsSelfDual t A'' → GQ2.FoxH.IsSelfDual t A) ∧ (GQ2.FoxH.IsSelfDual t A' ∧ GQ2.FoxH.IsSelfDual t A → GQ2.FoxH.IsSelfDual t A'') ∧ (GQ2.FoxH.IsSelfDual t A ∧ GQ2.FoxH.IsSelfDual t A'' → GQ2.FoxH.IsSelfDual t A')
theorem GQ2.FoxH.lemma_5_11.{u_1, u_2, u_3, u_4} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} {A' : Type u_3} {A'' : Type u_4} [AddCommGroup A] [DistribMulAction C A] [AddCommGroup A'] [DistribMulAction C A'] [AddCommGroup A''] [DistribMulAction C A''] [Finite A'] [Finite A] [Finite A''] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hA₂ : ∀ (a : A), a + a = 0) (f : A' →+ A) (g : A →+ A'') (hf : ∀ (c : C) (a : A'), f (c • a) = c • f a) (hg : ∀ (c : C) (a : A), g (c • a) = c • g a) (hinj : Function.Injective ⇑f) (hsurj : Function.Surjective ⇑g) (hexact : f.range = g.ker) : (GQ2.FoxH.IsSelfDual t A' ∧ GQ2.FoxH.IsSelfDual t A'' → GQ2.FoxH.IsSelfDual t A) ∧ (GQ2.FoxH.IsSelfDual t A' ∧ GQ2.FoxH.IsSelfDual t A → GQ2.FoxH.IsSelfDual t A'') ∧ (GQ2.FoxH.IsSelfDual t A ∧ GQ2.FoxH.IsSelfDual t A'' → GQ2.FoxH.IsSelfDual t A')
**Lemma 5.11 (exact cone dévissage)**, stated as its consequence: along a short exact sequence of finite elementary `𝔽₂[C]`-modules over a *generating* marking, self-duality satisfies two-out-of-three. Proved via the word-internal dévissage `selfdualW_two_of_three` and the `Generates` bridge `isSelfDual_iff_W`.
-
theoremdefined in GQ2/Devissage/LESMaster.leancomplete
theorem GQ2.FoxH.selfdualW_two_of_three.{u_1, u_2, u_3, u_4} {C : Type u_1} [Group C] {A' : Type u_2} {A : Type u_3} {A'' : Type u_4} [AddCommGroup A'] [DistribMulAction C A'] [Finite A'] [AddCommGroup A] [DistribMulAction C A] [Finite A] [AddCommGroup A''] [DistribMulAction C A''] [Finite A''] [Finite C] (f : A' →+ A) (g : A →+ A'') (hf : ∀ (c : C) (a : A'), f (c • a) = c • f a) (hg : ∀ (c : C) (a : A), g (c • a) = c • g a) (hinj : Function.Injective ⇑f) (hsurj : Function.Surjective ⇑g) (hexact : f.range = g.ker) (hA₂ : ∀ (a : A), a + a = 0) (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) : (GQ2.FoxH.IsSelfDualW t A' ∧ GQ2.FoxH.IsSelfDualW t A'' → GQ2.FoxH.IsSelfDualW t A) ∧ (GQ2.FoxH.IsSelfDualW t A' ∧ GQ2.FoxH.IsSelfDualW t A → GQ2.FoxH.IsSelfDualW t A'') ∧ (GQ2.FoxH.IsSelfDualW t A ∧ GQ2.FoxH.IsSelfDualW t A'' → GQ2.FoxH.IsSelfDualW t A')
theorem GQ2.FoxH.selfdualW_two_of_three.{u_1, u_2, u_3, u_4} {C : Type u_1} [Group C] {A' : Type u_2} {A : Type u_3} {A'' : Type u_4} [AddCommGroup A'] [DistribMulAction C A'] [Finite A'] [AddCommGroup A] [DistribMulAction C A] [Finite A] [AddCommGroup A''] [DistribMulAction C A''] [Finite A''] [Finite C] (f : A' →+ A) (g : A →+ A'') (hf : ∀ (c : C) (a : A'), f (c • a) = c • f a) (hg : ∀ (c : C) (a : A), g (c • a) = c • g a) (hinj : Function.Injective ⇑f) (hsurj : Function.Surjective ⇑g) (hexact : f.range = g.ker) (hA₂ : ∀ (a : A), a + a = 0) (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) : (GQ2.FoxH.IsSelfDualW t A' ∧ GQ2.FoxH.IsSelfDualW t A'' → GQ2.FoxH.IsSelfDualW t A) ∧ (GQ2.FoxH.IsSelfDualW t A' ∧ GQ2.FoxH.IsSelfDualW t A → GQ2.FoxH.IsSelfDualW t A'') ∧ (GQ2.FoxH.IsSelfDualW t A ∧ GQ2.FoxH.IsSelfDualW t A'' → GQ2.FoxH.IsSelfDualW t A')
**Lemma 5.11, word-internal form (exact-cone dévissage)**: two-out-of-three for `IsSelfDualW` along the module SES. Proof: translate each `IsSelfDualW` into `χ`-bijectivities (`isSelfDualW_iff`, `chi_bij_of_selfdualW`), then chase the duality ladder — nine four-lemma windows across the two LESs (word complex of the SES, and of its dualization) tied by the `lemma_5_6`-squares, the evaluation squares and the δ-squares.
-
GQ2.FoxH.lemma_5_12[complete]
Lemma 5.12 of the paper (Simple characteristic-two modules are tame).
Let V be a simple \F_2[C]-module occurring in the induction. Then the
marked normal 2-subgroup of C acts trivially on V. Hence V factors
through the finite tame quotient of C.
Lean code for Lemma6.6●1 theorem
Associated Lean declarations
-
GQ2.FoxH.lemma_5_12[complete]
-
GQ2.FoxH.lemma_5_12[complete]
-
theoremdefined in GQ2/FoxHeisenberg/Traced.leancomplete
theorem GQ2.FoxH.lemma_5_12.{u_1, u_3} {C : Type u_1} [Group C] {V : Type u_3} [AddCommGroup V] [DistribMulAction C V] [Finite V] (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) (L : Subgroup C) (hnormal : L.Normal) (hL : IsPGroup 2 ↥L) (g : C) : g ∈ L → ∀ (v : V), g • v = v
theorem GQ2.FoxH.lemma_5_12.{u_1, u_3} {C : Type u_1} [Group C] {V : Type u_3} [AddCommGroup V] [DistribMulAction C V] [Finite V] (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) (L : Subgroup C) (hnormal : L.Normal) (hL : IsPGroup 2 ↥L) (g : C) : g ∈ L → ∀ (v : V), g • v = v
**Lemma 5.12 (simple characteristic-two modules are tame)**: a normal 2-subgroup `L ◁ C` acts trivially on every simple `𝔽₂[C]`-module. Proof: the `L`-fixed subspace is nonzero (the `p`-group congruence `#V ≡ #Vᴸ (mod 2)` with `#V` even) and `C`-stable (`L` normal), so simplicity forces it to be all of `V`. (Proved for the §5 proof layer, as part of the Heisenberg word-evaluation core — `d1Fun_add`, `d1Fun_comp_d0`, Lemma 5.6, Lemma 5.7 both forms, and the tame row of Prop 5.8; the *wild row* (Prop 5.8/Lemma 5.13, needing the target-dependent integer-`ω₂` representative of the wild word) and the mapping-cone dévissage Lemma 5.11 followed later in the §5 proof layer and are also proved.)
-
GQ2.FoxH.lemma_5_13_split[complete] -
GQ2.FoxH.lemma_5_13_ramified[complete] -
GQ2.FoxH.lemma_5_13_pairing_split[complete] -
GQ2.FoxH.lemma_5_13_pairing_ramified[complete]
Lemma 5.13 of the paper (Normal forms for nontrivial simple modules).
Let V be a nontrivial simple tame \F_2[C]-module. Every class in
H^1_{A,\rho}(V) has a unique representative supported on x_0:
(a,b,c,d)\sim(0,0,c,0).
More precisely, the two possible inertia cases are as follows.
-
If
\mathsf T=1, thenP=1,1+\mathsf S^{-1}is invertible, andZ^1_{A,\rho}(V)=\{(a,0,c,0):a,c\in V\},\qquad B^1_{A,\rho}(V)=\{((\mathsf S-1)v,0,0,0):v\in V\}. -
If
V^{\mathsf T}=0, thenP=0and\mathsf T-1=1+\mathsf Tis invertible. The wild row first forcesd=0. Subtracting the coboundary ofv=(\mathsf T-1)^{-1}bkillsb, and the tame row then forcesa=0.
Under the representatives (53), the degree-one pairing
with the corresponding representative \lambda\in V^\vee is
(c,\lambda)\longmapsto \begin{cases} \lambda(c),&\mathsf T=1,\\[1mm] \lambda((1+\mathsf U+\mathsf U^{-1})c),&V^{\mathsf T}=0. \end{cases}
Both operators in (54) are invertible.
Lean code for Lemma6.7●4 theorems
Associated Lean declarations
-
GQ2.FoxH.lemma_5_13_split[complete]
-
GQ2.FoxH.lemma_5_13_ramified[complete]
-
GQ2.FoxH.lemma_5_13_pairing_split[complete]
-
GQ2.FoxH.lemma_5_13_pairing_ramified[complete]
-
GQ2.FoxH.lemma_5_13_split[complete] -
GQ2.FoxH.lemma_5_13_ramified[complete] -
GQ2.FoxH.lemma_5_13_pairing_split[complete] -
GQ2.FoxH.lemma_5_13_pairing_ramified[complete]
-
theoremdefined in GQ2/FoxHeisenberg/HessianRow.leancomplete
theorem GQ2.FoxH.lemma_5_13_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) (ht : t.TameRel) : t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) [inst : Finite V] (hcore : t.Pro2Core) (htau : ∀ (v : V), t.τ • v = v) (hU : ∀ (v : V), t.sigma2 • v = v) (hVS : ∀ (v : V), t.σ • v = v → v = 0), (∀ (x : Fin 4 → V), x ∈ GQ2.FoxH.Z1w t ↔ x 1 = 0 ∧ x 3 = 0) ∧ ∀ (y : Fin 4 → V), y ∈ GQ2.FoxH.B1w t ↔ ∃ v, y = ![t.σ • v - v, 0, 0, 0]
theorem GQ2.FoxH.lemma_5_13_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) (ht : t.TameRel) : t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) [inst : Finite V] (hcore : t.Pro2Core) (htau : ∀ (v : V), t.τ • v = v) (hU : ∀ (v : V), t.sigma2 • v = v) (hVS : ∀ (v : V), t.σ • v = v → v = 0), (∀ (x : Fin 4 → V), x ∈ GQ2.FoxH.Z1w t ↔ x 1 = 0 ∧ x 3 = 0) ∧ ∀ (y : Fin 4 → V), y ∈ GQ2.FoxH.B1w t ↔ ∃ v, y = ![t.σ • v - v, 0, 0, 0]
**Lemma 5.13, split case (i), cocycle shape**: if `T = 1` (trivial `τ`-action on a nontrivial simple module), `Z¹ = {(a, 0, c, 0)}` and `B¹ = {((S−1)v, 0, 0, 0)}`. Hypotheses (per `docs/orchestration/p13-normal-form-hypothesis-gap.md`): `hcore` supplies trivial wild action (`wild_acts_trivially`); `hVS` is `V^S = 0`, i.e. `1 + S⁻¹` invertible — it excludes the trivial module `𝔽₂` (where `1 + S⁻¹ = 0` and the `x 3 = 0` clause would fail; that module is handled separately in `prop_5_15`). `hU` is the σ-tameness (`σ₂ = U` acts trivially). Both `hVS` and `hU` are *derivable* in the split case — with `τ, x₀, x₁` acting trivially the `C`-action factors through the cyclic `⟨σ̄⟩`, so a nontrivial simple `V` is a simple `𝔽₂[⟨σ⟩]`-module: `V^S = V^C = 0` and `σ` has odd order (⇒ `σ₂ = 1`). Those derivations need `t.Generates` and simple-cyclic rep theory, so they are factored out as hypotheses here, keeping the normal-form proof pure finite-Fox calculus. See `docs/orchestration/p13-normal-form-hypothesis-gap.md` §7. Proved (the §5 proof layer): `B¹` half from `b1w_split_shape`; `Z¹` half from the tame row `d1Fun_tame_split` (`= S⁻¹·x₁`) and the wild row `liftMarking_wildValue_u` (`= x₁ + (1+S⁻¹)·x₃`), with `x 1 = 0` from `S⁻¹` injective and `x 3 = 0` from `hVS`. -
theoremdefined in GQ2/FoxHeisenberg/HessianRow.leancomplete
theorem GQ2.FoxH.lemma_5_13_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hV₂ : ∀ (v : V), v + v = 0) [Finite V] (hx0 : ∀ (v : V), t.x₀ • v = v) (hx1 : ∀ (v : V), t.x₁ • v = v) (htau : ∀ (v : V), t.τ • v = v → v = 0) (hTodd : ∀ (v : V), GQ2.powOmega2 t.τ • v = v) (x : Fin 4 → V) : x ∈ GQ2.FoxH.Z1w t → ∃! c, x - GQ2.FoxH.x0Supported c ∈ GQ2.FoxH.B1w t
theorem GQ2.FoxH.lemma_5_13_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hV₂ : ∀ (v : V), v + v = 0) [Finite V] (hx0 : ∀ (v : V), t.x₀ • v = v) (hx1 : ∀ (v : V), t.x₁ • v = v) (htau : ∀ (v : V), t.τ • v = v → v = 0) (hTodd : ∀ (v : V), GQ2.powOmega2 t.τ • v = v) (x : Fin 4 → V) : x ∈ GQ2.FoxH.Z1w t → ∃! c, x - GQ2.FoxH.x0Supported c ∈ GQ2.FoxH.B1w t
**Lemma 5.13, ramified case (ii), unique normal form**: if `V^T = 0`, every degree-one class has a unique representative supported on `x₀` (display (53)). Hypothesis `hcore` supplies trivial wild action (`wild_acts_trivially`); the ramified condition `V^T = 0` (`htau`) gives `1 + T` invertible. **Hypothesis `hTodd`**: `τ`'s 2-primary part `powOmega2 t.τ` acts trivially on `V`, i.e. `τ` acts with *odd* order on `V`. This is the ramified analogue of the split case's `hU : ∀ v, t.sigma2 • v = v` (`sigma2 = powOmega2 t.σ`), and is the arithmetic fact that `τ = ` tame inertia is prime-to-2, so acts through an odd quotient on the `𝔽₂`-module `V`. It is **required** (not implied by `V^T = 0`, which admits even-order fixed-point-free actions): the wild-row aux offset `(powOmega2 p).u` is a geometric sum whose length is the `ω₂`-exponent, and it collapses to `0` (via the `P = 0` norm ledger `WordLift.norm_eq_zero_of_fixedPointFree`) exactly because the odd action-period divides that length. Like `hU`/`hVS` in the split case, this is factored out as an explicit hypothesis, supplied by the simple-factor analysis. See `docs/orchestration/p13-normal-form-hypothesis-gap.md` for the counterexample and rationale. **Signature note**: the trivial wild action is taken as hypotheses `hx0`/`hx1` rather than derived from `(hsimple, hcore)` via `wild_acts_trivially` — so the lemma applies to the contragredient dual `A∨` (whose wild-triviality transfers from `A`'s) without a "dual of simple is simple" detour, mirroring the split-side `split_shapes_of_wild`. No `hU` hypothesis is needed: the σ-tameness `∀ v, σ₂ • v = v` is *not derivable from admissibility* (`S₃` on its 2-dim simple module and `C₅⋊C₄` on `𝔽₁₆`, markings `x₀=x₁=1`, are admissible ramified counterexamples), and it is not needed: the `h₀`-row `x₂`-cancellation happens in `g₀`-conjugate pairs (`liftMarking_h0_u_ramified`, via `conjP_u_of_base_trivial`).
-
theoremdefined in GQ2/FoxHeisenberg/HessianRow.leancomplete
theorem GQ2.FoxH.lemma_5_13_pairing_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) : t.TameRel → t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) [Finite V] (hcore : t.Pro2Core) (htau : ∀ (v : V), t.τ • v = v) (hU : ∀ (v : V), t.sigma2 • v = v) (c : V) (lam : GQ2.FoxH.ElemDual V), GQ2.FoxH.mixedB t (GQ2.FoxH.x0Supported c) (GQ2.FoxH.x0Supported lam) = lam c
theorem GQ2.FoxH.lemma_5_13_pairing_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) : t.TameRel → t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C V) [Finite V] (hcore : t.Pro2Core) (htau : ∀ (v : V), t.τ • v = v) (hU : ∀ (v : V), t.sigma2 • v = v) (c : V) (lam : GQ2.FoxH.ElemDual V), GQ2.FoxH.mixedB t (GQ2.FoxH.x0Supported c) (GQ2.FoxH.x0Supported lam) = lam c
**Lemma 5.13, pairing display (54), split case**: on `x₀`-supported representatives the degree-one pairing is `(c, λ) ↦ λ(c)` when `T = 1`. The proof uses the mixed Hessian ledger, Lemma 5.14 — `h₀ ↦ λ(c)` via `classTwoIdentity` [needs `g₀ = σ₂²` trivial, i.e. `hU`], and the `[d₀,z₀]` term vanishes since `P + 1 = 0` in char 2 for `T = 1`. `hsimple`/`hcore` give the trivial wild action (`wild_acts_trivially`); `hU` is the σ-tameness (derivable in split; see `lemma_5_13_split`).
-
theoremdefined in GQ2/FoxHeisenberg/HessianRow.leancomplete
theorem GQ2.FoxH.lemma_5_13_pairing_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) : t.TameRel → t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) [Finite V] (hx0 : ∀ (v : V), t.x₀ • v = v) (hx1 : ∀ (v : V), t.x₁ • v = v) (htau : ∀ (v : V), t.τ • v = v → v = 0) (hTodd : ∀ (v : V), GQ2.powOmega2 t.τ • v = v) (c : V) (lam : GQ2.FoxH.ElemDual V), GQ2.FoxH.mixedB t (GQ2.FoxH.x0Supported c) (GQ2.FoxH.x0Supported lam) = lam (c + t.sigma2 • c + t.sigma2⁻¹ • c)
theorem GQ2.FoxH.lemma_5_13_pairing_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {V : Type u_2} [AddCommGroup V] [DistribMulAction C V] (t : GQ2.Marking C) : t.TameRel → t.WildRel → ∀ (hV₂ : ∀ (v : V), v + v = 0) [Finite V] (hx0 : ∀ (v : V), t.x₀ • v = v) (hx1 : ∀ (v : V), t.x₁ • v = v) (htau : ∀ (v : V), t.τ • v = v → v = 0) (hTodd : ∀ (v : V), GQ2.powOmega2 t.τ • v = v) (c : V) (lam : GQ2.FoxH.ElemDual V), GQ2.FoxH.mixedB t (GQ2.FoxH.x0Supported c) (GQ2.FoxH.x0Supported lam) = lam (c + t.sigma2 • c + t.sigma2⁻¹ • c)
**Lemma 5.13, pairing display (54), ramified case**: when `V^T = 0` the pairing on `x₀`-supported representatives is `(c, λ) ↦ λ((1 + U + U⁻¹)c)` for `U = S₂^ω` (`Marking.sigma2`). The tame relator's central coordinate vanishes on the x₀-supported rep (`heisMarking_tameValue_z_eq_zero`), so the pairing is carried entirely by the wild relator (`heisMarking_wildValue_z_ramified`): `h₀ ↦ λ(c)` (the shadow) plus the `[d₀,z₀]` symplectic term `λ(Uc) + λ(U⁻¹c)` (nonzero here because `Dd₀ = c ≠ 0`, unlike the split `P + 1 = 0` collapse). **Hypothesis `hTodd`** (added the §5 proof layer, mirroring the §5 proof layer's `lemma_5_13_ramified`): `τ`'s 2-primary part acts trivially on `V` (tame inertia is prime-to-2), needed for the ramified `Dd₀ = c` via the `P = 0` ledger. Supplied per simple factor by the tame representation-theory proof. The trivial wild action is taken as hypotheses `hx0`/`hx1` (the Prop. 5.15 proof signature note on `lemma_5_13_ramified`).
-
GQ2.FoxH.prop_5_15_of_simple[complete] -
GQ2.FoxH.selfDual_of_split[complete] -
GQ2.FoxH.selfDual_of_ramified[complete] -
GQ2.FoxH.prop_5_15[complete]
Proposition 5.15 of the paper (Candidate deformation duality).
For every elementary \F_2[C]-module A, the chain map (46) is a quasi-isomorphism. Hence
H^2_{A,\rho}(A)^\vee\cong (A^\vee)^C, \qquad \dim Z^1_{A,\rho}(A)=2\dim A+\dim(A^\vee)^C.
The induced pairings
H^i_{A,\rho}(A)\times H^{2-i}_{A,\rho}(A^\vee)\to\F_2
are perfect and natural in A.
Lean code for Proposition6.8●4 theorems
Associated Lean declarations
-
GQ2.FoxH.prop_5_15_of_simple[complete]
-
GQ2.FoxH.selfDual_of_split[complete]
-
GQ2.FoxH.selfDual_of_ramified[complete]
-
GQ2.FoxH.prop_5_15[complete]
-
GQ2.FoxH.prop_5_15_of_simple[complete] -
GQ2.FoxH.selfDual_of_split[complete] -
GQ2.FoxH.selfDual_of_ramified[complete] -
GQ2.FoxH.prop_5_15[complete]
-
theoremdefined in GQ2/DevissageInduction.leancomplete
theorem GQ2.FoxH.prop_5_15_of_simple.{u, u_1} {C : Type u_1} [Group C] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hsimp : ∀ (B : Type u) [inst : AddCommGroup B] [inst_1 : DistribMulAction C B] [inst_2 : Finite B], (∀ (b : B), b + b = 0) → GQ2.FoxH.IsSimpleModTwo C B → GQ2.FoxH.IsSelfDual t B) {A : Type u} [AddCommGroup A] [DistribMulAction C A] [Finite A] (hA₂ : ∀ (a : A), a + a = 0) : GQ2.FoxH.IsSelfDual t A
theorem GQ2.FoxH.prop_5_15_of_simple.{u, u_1} {C : Type u_1} [Group C] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hsimp : ∀ (B : Type u) [inst : AddCommGroup B] [inst_1 : DistribMulAction C B] [inst_2 : Finite B], (∀ (b : B), b + b = 0) → GQ2.FoxH.IsSimpleModTwo C B → GQ2.FoxH.IsSelfDual t B) {A : Type u} [AddCommGroup A] [DistribMulAction C A] [Finite A] (hA₂ : ∀ (a : A), a + a = 0) : GQ2.FoxH.IsSelfDual t A
**Prop 5.15, dévissage half (the Prop. 5.15 proof)**: `IsSelfDual` for *all* finite elementary-2 `C`-modules, parameterized over the simple case (`hsimp` — the split/ramified dispatch). Strong induction on `Nat.card A`; the induction step is `lemma_5_11` (the dévissage proof) along `0 → W → A → A ⧸ W → 0` for a `C`-stable `W ∉ {⊥, ⊤}`; the subsingleton base is `trivialSelfDual` (the Prop. 5.15 proof part (i)). -
theoremdefined in GQ2/DualityAssembly.leancomplete
theorem GQ2.FoxH.selfDual_of_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hV₂ : ∀ (v : A), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C A) (hcore : t.Pro2Core) (htau : ∀ (v : A), t.τ • v = v) (hσ : ∃ v, t.σ • v ≠ v) : GQ2.FoxH.IsSelfDual t A
theorem GQ2.FoxH.selfDual_of_split.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hV₂ : ∀ (v : A), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C A) (hcore : t.Pro2Core) (htau : ∀ (v : A), t.τ • v = v) (hσ : ∃ v, t.σ • v ≠ v) : GQ2.FoxH.IsSelfDual t A
**Proposition 5.15, split simple case.** A nontrivial simple module on which `τ` acts trivially (`htau`) and `σ` acts nontrivially (`hσ`) is self-dual. The `σ`-tameness `hU` and fixed-point freeness `hVS` come from the tame representation-theory proof; the contragredient dual `A∨` inherits split + trivial-wild action from `A` (via `ElemDual.smul_apply`), giving both normal forms; the cards close clauses 1–2 and `clause3_of_normalForm` (with the split pairing `(c,λ) ↦ λ(c)`) closes clause 3.
-
theoremdefined in GQ2/DualityAssembly.leancomplete
theorem GQ2.FoxH.selfDual_of_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hV₂ : ∀ (v : A), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C A) (hcore : t.Pro2Core) (htau : ∀ (v : A), t.τ • v = v → v = 0) : GQ2.FoxH.IsSelfDual t A
theorem GQ2.FoxH.selfDual_of_ramified.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hV₂ : ∀ (v : A), v + v = 0) (hsimple : GQ2.FoxH.IsSimpleModTwo C A) (hcore : t.Pro2Core) (htau : ∀ (v : A), t.τ • v = v → v = 0) : GQ2.FoxH.IsSelfDual t A
**Proposition 5.15, ramified simple case.** A simple module with `V^T = 0` is self-dual. `hTodd` (τ odd-order) is derived (`tau_powOmega2_smul_trivial`); the dual `A∨` inherits wild-triviality and `hTodd` (contragredient) and τ-fixed-point-freeness (`(τ⁻¹−1)` surjective); the pairing `λ((1+U+U⁻¹)c)` (`lemma_5_13_pairing_ramified`) is perfect because the operator `1+U+U⁻¹` is unipotent, hence bijective (`sigma2_pairing_operator_injective`) — no σ-tameness `hU` anywhere (it is *not derivable*: `S₃`/`C₅⋊C₄` admissible counterexamples).
-
theoremdefined in GQ2/DualityAssembly.leancomplete
theorem GQ2.FoxH.prop_5_15.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hA₂ : ∀ (a : A), a + a = 0) (hcore : t.Pro2Core) : GQ2.FoxH.IsSelfDual t A
theorem GQ2.FoxH.prop_5_15.{u_1, u_2} {C : Type u_1} [Group C] [Finite C] {A : Type u_2} [AddCommGroup A] [Finite A] [DistribMulAction C A] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hA₂ : ∀ (a : A), a + a = 0) (hcore : t.Pro2Core) : GQ2.FoxH.IsSelfDual t A
**Prop. 5.15 (candidate deformation duality):** the Fox–Heisenberg chain map is a quasi-isomorphism for every finite elementary module — packaged: the display-(56) numerics hold and the descended `B`-pairing is perfect. The composition: the dévissage strong induction `prop_5_15_of_simple` (`GQ2/DevissageInduction.lean`, via `lemma_5_11` along `0 → W → A → A/W → 0` for a proper `C`-stable `W`) reduces to the simple case, which `selfDual_of_simple` closes by the `tau_split_or_ramified` dichotomy — split (`lemma_5_13_split` + the tame representation-theory providers) or ramified (`lemma_5_13_ramified` + `hTodd` derived + the unipotent pairing operator). Relocated here from `GQ2/FoxHeisenberg.lean` (statement unchanged, same fully qualified name `GQ2.FoxH.prop_5_15`): the proof needs the dévissage and the simple-case assembly, which import that file.
Proved in §5 of the paper. Ingredients: Lemma 6.5 Lemma 6.7 Proposition 6.4.
-
GQ2.LocalLiftingDuality.prop_5_16_bundle[complete] -
GQ2.FoxH.prop_5_16[complete]
Proposition 5.16 of the paper (Local lifting duality).
For every elementary \F_2[C]-module A,
H^2_{F,\rho}(A)^\vee\cong (A^\vee)^C, \qquad \dim Z^1_{F,\rho}(A)=2\dim A+\dim(A^\vee)^C.
The local cup product and invariant map give perfect pairings
H^i_{F,\rho}(A)\times H^{2-i}_{F,\rho}(A^\vee)\to\F_2.
Lean code for Proposition6.9●2 theorems
Associated Lean declarations
-
GQ2.LocalLiftingDuality.prop_5_16_bundle[complete]
-
GQ2.FoxH.prop_5_16[complete]
-
GQ2.LocalLiftingDuality.prop_5_16_bundle[complete] -
GQ2.FoxH.prop_5_16[complete]
-
theoremdefined in GQ2/LocalLiftingDuality.leancomplete
theorem GQ2.LocalLiftingDuality.prop_5_16_bundle.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] : (∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) → ∀ [inst : TopologicalSpace (ZMod 2)] [inst✝ : DiscreteTopology (ZMod 2)] [inst✝¹ : DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam), Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A) = Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) = Nat.card A ^ 2 * Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 (ZMod 2)) = 2 ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup11 (GQ2.FoxH.dualEval A) hpair) c) ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup02 (GQ2.FoxH.dualEval A) hpair) c) ∧ Function.Bijective fun c => (GQ2.ContCoh.cup20 (GQ2.FoxH.dualEval A) hpair) c
theorem GQ2.LocalLiftingDuality.prop_5_16_bundle.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] : (∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) → ∀ [inst : TopologicalSpace (ZMod 2)] [inst✝ : DiscreteTopology (ZMod 2)] [inst✝¹ : DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam), Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A) = Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) = Nat.card A ^ 2 * Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 (ZMod 2)) = 2 ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup11 (GQ2.FoxH.dualEval A) hpair) c) ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup02 (GQ2.FoxH.dualEval A) hpair) c) ∧ Function.Bijective fun c => (GQ2.ContCoh.cup20 (GQ2.FoxH.dualEval A) hpair) c
**`prop_5_16` (local lifting duality), fully assembled** — all six clauses, stated with the paper's exact signature (`GQ2.FoxH.prop_5_16`). This is the complete the Prop. 5.16 proof result: clauses (i)–(iii) are the numeric/Euler-characteristic content, (iv)–(vi) the cup-perfectness content. `GQ2.FoxH.prop_5_16` could not be proved by an `exact` splice in its original home, because `FoxHeisenberg` (where it was declared) would then have had to import this file, which already imports `FoxHeisenberg` (for `ElemDual`/`dualEval`) — an import cycle. The statement was therefore relocated out of `FoxHeisenberg.lean` and is proved from this bundle below.
-
theoremdefined in GQ2/LocalLiftingDuality.leancomplete
theorem GQ2.FoxH.prop_5_16.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] (hcompD : ∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) [TopologicalSpace (ZMod 2)] [DiscreteTopology (ZMod 2)] [DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam) : Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A) = Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) = Nat.card A ^ 2 * Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 (ZMod 2)) = 2 ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup11 (GQ2.FoxH.dualEval A) hpair) c) ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup02 (GQ2.FoxH.dualEval A) hpair) c) ∧ Function.Bijective fun c => (GQ2.ContCoh.cup20 (GQ2.FoxH.dualEval A) hpair) c
theorem GQ2.FoxH.prop_5_16.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] (hcompD : ∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) [TopologicalSpace (ZMod 2)] [DiscreteTopology (ZMod 2)] [DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam) : Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A) = Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) = Nat.card A ^ 2 * Nat.card ↑(GQ2.FoxH.fixedPts C (GQ2.FoxH.ElemDual A)) ∧ Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 (ZMod 2)) = 2 ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup11 (GQ2.FoxH.dualEval A) hpair) c) ∧ (Function.Bijective fun c => (GQ2.ContCoh.cup02 (GQ2.FoxH.dualEval A) hpair) c) ∧ Function.Bijective fun c => (GQ2.ContCoh.cup20 (GQ2.FoxH.dualEval A) hpair) c
**Prop 5.16 (local lifting duality)**: for a finite elementary module with `G_ℚ₂`-action factoring through `ρ : G_ℚ₂ ↠ C`, the display-(57) numerics hold and the cup-product API evaluation-cup pairings are perfect in all three degree pairs (the Tate-duality interface phrasing; the clause `#H²(𝔽₂) = 2` certifies the target line). The two-actions setup follows the continuous-cohomology API's compatible-pair pattern: separate `C`- and `G_ℚ₂`-actions related pointwise through `ρ` — no double instance on one type. The proof is `GQ2.LocalLiftingDuality.prop_5_16_bundle`; this is where axioms B6 and B7 enter (App. D row). It lives outside `GQ2/FoxHeisenberg.lean` to break an public import cycle (the `𝔽₂`-cup/B6 infrastructure imports that file).
Proved in §5 of the paper. Ingredients: Proposition 1.4 Proposition 1.9.
-
GQ2.FoxH.cor_5_17_card[complete]
Corollary 5.17 of the paper (Common lift numerics and adjoint boundaries).
For either source, use the corresponding notation H^i_{\Gamma,\rho} and Z^1_{\Gamma,\rho}. Then the obstruction-space dimensions, unobstructed lift multiplicities, and perfect pairings agree numerically.
For every short exact sequence
0\to T\to M\to V\to0
and its dual, the connecting maps are adjoint: if
\partial_{\Gamma,\rho}:H^1_{\Gamma,\rho}(V)\to H^2_{\Gamma,\rho}(T)
and \chi\in(T^\vee)^C has dual boundary
\gamma_\chi=\partial_C^\vee(\chi)\in H^1(C,V^\vee),
then
\langle\partial_{\Gamma,\rho}c,\chi\rangle =\langle c,\rho^*\gamma_\chi\rangle_\Gamma.
Lean code for Corollary6.10●1 theorem
Associated Lean declarations
-
GQ2.FoxH.cor_5_17_card[complete]
-
GQ2.FoxH.cor_5_17_card[complete]
-
theoremdefined in GQ2/LocalLiftingDuality.leancomplete
theorem GQ2.FoxH.cor_5_17_card.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hcore : t.Pro2Core) (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] (hcompD : ∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) [TopologicalSpace (ZMod 2)] [DiscreteTopology (ZMod 2)] [DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam) : Nat.card ↥(GQ2.FoxH.Z1w t) = Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) ∧ Nat.card (GQ2.FoxH.H2w t) = Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A)
theorem GQ2.FoxH.cor_5_17_card.{u_1} {C : Type u_1} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C] (t : GQ2.Marking C) (ht : t.TameRel) (hw : t.WildRel) (hgen : t.Generates) (hcore : t.Pro2Core) (ρ : GQ2.AbsGalQ2 →ₜ* C) (hρ : Function.Surjective ⇑ρ) {A : Type} [AddCommGroup A] [TopologicalSpace A] [DiscreteTopology A] [Finite A] [DistribMulAction C A] [DistribMulAction GQ2.AbsGalQ2 A] [ContinuousSMul GQ2.AbsGalQ2 A] (hcomp : ∀ (γ : GQ2.AbsGalQ2) (a : A), γ • a = ρ γ • a) (hA₂ : ∀ (a : A), a + a = 0) [TopologicalSpace (GQ2.FoxH.ElemDual A)] [DiscreteTopology (GQ2.FoxH.ElemDual A)] [DistribMulAction GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] [ContinuousSMul GQ2.AbsGalQ2 (GQ2.FoxH.ElemDual A)] (hcompD : ∀ (γ : GQ2.AbsGalQ2) (lam : GQ2.FoxH.ElemDual A), γ • lam = ρ γ • lam) [TopologicalSpace (ZMod 2)] [DiscreteTopology (ZMod 2)] [DistribMulAction GQ2.AbsGalQ2 (ZMod 2)] [ContinuousSMul GQ2.AbsGalQ2 (ZMod 2)] (htriv : ∀ (γ : GQ2.AbsGalQ2) (m : ZMod 2), γ • m = m) (hpair : ∀ (γ : GQ2.AbsGalQ2) (a : A) (lam : GQ2.FoxH.ElemDual A), ((GQ2.FoxH.dualEval A) (γ • a)) (γ • lam) = γ • ((GQ2.FoxH.dualEval A) a) lam) : Nat.card ↥(GQ2.FoxH.Z1w t) = Nat.card ↥(GQ2.ContCoh.Z1 GQ2.AbsGalQ2 A) ∧ Nat.card (GQ2.FoxH.H2w t) = Nat.card (GQ2.ContCoh.H2 GQ2.AbsGalQ2 A)
**Corollary 5.17, numerics half** (proved wiring): the obstruction-space and unobstructed-lift-multiplicity cardinalities agree for the two sources. (The adjoint-boundary identity (58) is deferred: it needs connecting-map infrastructure in both theories — see the module docstring.)
Proved in §5 of the paper. Ingredients: Proposition 6.8 Proposition 6.9.