The dévissage induction on the r_R spine: prop_5_15_R from the simple case #
Mechanical R-spine clone of GQ2/DevissageInduction.lean (campaign decision,
docs/orchestration/roe-r20-recon.md). prop_5_15_of_simple_R: if IsSelfDual_R t B holds for
every simple finite elementary-2 C-module B, then it holds for every finite elementary-2
C-module A. Strong induction on Nat.card A; the induction step forwards hw : t.WildRelR
to lemma_5_11_R along 0 → W → A → A ⧸ W → 0, and the subsingleton (zero-module) base case is
R25's trivialSelfDual_R (GQ2/Roe/TrivialSelfDual.lean) — exactly as the Γ_A capstone uses
trivialSelfDual. Proof ported verbatim.
The self-duality predicate IsSelfDual_R and the base case trivialSelfDual_R are R25's
(GQ2/Roe/TrivialSelfDual.lean), reused here per the campaign convention (recon §1.5); the
reusable induction infrastructure stableSubAction/stableQuotAction/two_torsion_sub/
two_torsion_quot/card_lt_of_ne_top/card_quot_lt_of_ne_bot (all (A)-generic, word-free) is
reused from GQ2.DevissageInduction, never cloned.
Prop 5.15, dévissage half (the Prop. 5.15 proof), on the r_R spine: IsSelfDual_R for
all finite elementary-2 C-modules, parameterized over the simple case (hsimp). R-spine clone
of prop_5_15_of_simple; proof ported verbatim. The induction step is lemma_5_11_R along
0 → W → A → A ⧸ W → 0 for a C-stable W ∉ {⊥, ⊤}; the subsingleton base is R25's
trivialSelfDual_R.
Paper-tag ledger (Roe note paper/roe-presentation-verification.tex; hand-maintained) #
- Prop 5.15 (dévissage half) = ⟦prop:duality⟧ —
prop_5_15_of_simple_Ris the source-generic reduction of self-duality to the simple case; R26b'sselfDual_of_simple_R/prop_5_15_R(GQ2/Roe/DualityAssembly.lean) feed the simple case.