theorem
Q2Presentation.Induction.ops_one_of_card_two
{Yt : BoundaryFramedTarget}
[Finite Yt.Y]
{V : Type}
[AddCommGroup V]
[Module (ZMod 2) V]
(Φ : Lifting.OperatorFamily Yt V)
(hcard : Nat.card V = 2)
(y : Yt.Y)
:
On a two-element module every family operator is the identity.
theorem
Q2Presentation.Induction.mstage_card_ne_two
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
:
The mstage layer never has exactly two elements: operators would be trivial and a nonzero functional invariant, contradicting the proven invariant vanishing.
theorem
Q2Presentation.Induction.mstage_card_Y_four
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(hN : 1 < Nat.card (Lifting.NAdd (mstageKernel chief K hR)))
:
4 divides |Y| whenever the mstage layer is nontrivial.
theorem
Q2Presentation.Induction.mstage_marking_covers
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
(y : p.fst.Y)
:
∃ c ∈ Subgroup.closure (Set.range q), y * c⁻¹ ∈ (mstageKernel chief K hR).N
The marking covers Y modulo the mstage kernel.
theorem
Q2Presentation.Induction.mstage_hcover
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
(y : p.fst.Y)
:
∃ c ∈ Subgroup.closure (Set.range q), (Lifting.conjFamily (mstageKernel chief K hR)).op (y * c⁻¹) = 1
The cover in operator form.
theorem
Q2Presentation.Induction.mstage_relator_tame_op_one
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
:
Relator operators are trivial at compatible markings.
theorem
Q2Presentation.Induction.mstage_relator_wild_op_one
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
:
theorem
Q2Presentation.Induction.mstage_markedAug_full
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
:
The marked window is full at the mstage kernel.
theorem
Q2Presentation.Induction.mstage_rows_surjective_diamond
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
(hframe :
∀ (a : Gen),
p.fst.qYMap (q a) = (ProfiniteGrp.Hom.hom p.snd.beta) ((ProfiniteGrp.Hom.hom boundaryPackage_GammaA.toBoundary) (gammaGen a)))
(hfaithNT :
∀ (W' W : Submodule (ZMod 2) (Lifting.NAdd (mstageKernel chief K hR)))
(hW : ∀ (y : p.fst.Y), ∀ m ∈ W, ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ W)
(hW' : ∀ (y : p.fst.Y), ∀ m ∈ W', ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ W'),
W' < W →
(∀ U < W,
W' ≤ U → (∀ (y : p.fst.Y), ∀ m ∈ U, ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ U) → U = W') →
(¬∀ (y : p.fst.Y),
(Lifting.sectionFamily (Lifting.conjFamily (mstageKernel chief K hR)) W' W hW hW').op y = 1) →
Lifting.dualPairingFaithful (Lifting.sectionFamily (Lifting.conjFamily (mstageKernel chief K hR)) W' W hW hW')
q)
(uv : Lifting.NAdd (mstageKernel chief K hR) × Lifting.NAdd (mstageKernel chief K hR))
:
∃ (n : Gen → Lifting.NAdd (mstageKernel chief K hR)),
(Lifting.famRowsMap (Lifting.conjFamily (mstageKernel chief K hR)) q) n = uv
Mstage row surjectivity from the dévissage, conditional only on the nontrivial-simple faithfulness input. The one-element layer is trivially surjective.
theorem
Q2Presentation.Induction.mstage_bockstein_witness_diamond
{p : FramedPair}
(chief : FirstNonScalarChiefFactor p)
(K : KernelMinimal chief.toNonScalarChiefFactor)
(hR : Nat.card ↥(kernelFrattini K) = 1)
(g :
boundaryFramedSurj boundaryPackage_GammaA (TorsorProgram.quotientFramedTarget p.fst (mstageKernel chief K hR).N ⋯ ⋯)
(TorsorProgram.quotientFrame p.fst (mstageKernel chief K hR).N ⋯ ⋯ p.snd))
(q : Marking p.fst.Y)
(hlift :
∀ (a : Gen), (QuotientGroup.mk' (mstageKernel chief K hR).N) (q a) = (ProfiniteGrp.Hom.hom (↑g).hom) (gammaGen a))
(hframe :
∀ (a : Gen),
p.fst.qYMap (q a) = (ProfiniteGrp.Hom.hom p.snd.beta) ((ProfiniteGrp.Hom.hom boundaryPackage_GammaA.toBoundary) (gammaGen a)))
(hfaithNT :
∀ (W' W : Submodule (ZMod 2) (Lifting.NAdd (mstageKernel chief K hR)))
(hW : ∀ (y : p.fst.Y), ∀ m ∈ W, ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ W)
(hW' : ∀ (y : p.fst.Y), ∀ m ∈ W', ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ W'),
W' < W →
(∀ U < W,
W' ≤ U → (∀ (y : p.fst.Y), ∀ m ∈ U, ((Lifting.conjFamily (mstageKernel chief K hR)).op y) m ∈ U) → U = W') →
(¬∀ (y : p.fst.Y),
(Lifting.sectionFamily (Lifting.conjFamily (mstageKernel chief K hR)) W' W hW hW').op y = 1) →
Lifting.dualPairingFaithful (Lifting.sectionFamily (Lifting.conjFamily (mstageKernel chief K hR)) W' W hW hW')
q)
(W : Submodule (ZMod 2) (Lifting.NAdd (mstageKernel chief K hR)))
(w : Lifting.NAdd (mstageKernel chief K hR))
:
∃ (n : Gen → Lifting.NAdd (mstageKernel chief K hR)),
Lifting.foxShadowGen (Lifting.conjFamily (mstageKernel chief K hR)).op q n Q2Word.tameRelator - w ∈ W ∧ Lifting.foxShadowGen (Lifting.conjFamily (mstageKernel chief K hR)).op q n Q2Word.wildRelator ∈ W
The mstage Bockstein witness in keep shape, conditional only on the nontrivial-simple faithfulness input.