Self-contained continuation guide (Opus, 2026-07-07). Read this before touching the f2 family.
Goal: discharge the sorry in SectionSix.lemma_6_17_vanish — the base connecting map
Q⁰_loc vanishes on the deep half X₊ = deepPart ρ. This is one of the two remaining §6.3
Kummer cores (the other, lemma_6_17_dim, is a separate lane — P-15f1/f5–f8, its chain now built).
Route (Lemma 6.14 + §6.2 orbit decomposition + §6.3 deepness, the paper's proof):
Q⁰_loc dat ρ x
=[f2a: datum-independence] Q⁰_loc (datW_C.comap ι) ρ x
=[Lemma 6.14: RepIndependence.lemma_6_14] Q⁰_loc datW_C ρ (ι∗x)
=[f2d wiring: reindex + orbit reducer] 0
where ι : V →+ W is f2b's isometric embedding into the regular module W = Fin K → RegRep N
(N = ker ρ), datW_C its orbit-sum datum reindexed to C, and the final 0 is
Q0loc_vanish_of_datum_decomp fed per-orbit hcoh (f2c1) and hvanish (landed cores + f2c2).
State (2026-07-07): f2a is DONE (Q0loc_datum_indep, std-3, board row); f2b is fully
landed; the f2d transport/reindex/deepness infrastructure is landed; the two hvanish
cores are landed; f2c1 is DONE (GQ2/ShapiroRead.lean, std-3 — see §5 and the session
update at the end). The genuinely open mathematics is one ticket:
- P-15f2c2 — the involution deep-unit Kummer presentation (
hvanishfield-data), ⭐⭐ — split 2026-07-07 (commit2d011e1) into P-15f2c2a (abstract Kummer package) ∥ P-15f2c2b (spine); see the board rows.
then P-15f2d = composition (thin — every ingredient now has a landed producer except c2).
Do not edit GQ2/Foundations/Axioms.lean (frozen). Keep every landed file sorry-free and
std-3 ({propext, Classical.choice, Quot.sound}) unless a B-axiom is explicitly in the ticket's
Ax budget; gate with lake build + scripts/check_axioms.sh (or lean_verify per decl).
GQ2/SectionSix.lean:882 (statement frozen — co-owned with P-15f1/f8; do not edit the
signature, use the §6.18ram statement-move pattern to exit SectionSix):
theorem lemma_6_17_vanish (D : TateDuality 2) (B : BoundaryMaps)
(c : ContinuousMonoidHom Ttame C) (hc : Function.Surjective ⇑c)
(ρ : ContinuousMonoidHom AbsGalQ2 C) (hfac : ∀ g, ρ g = c (B.tameF g))
(hρ : ∀ (g : AbsGalQ2) (v : V), g • v = ρ g • v)
(hV2 : ∀ v : V, v + v = 0)
(hfaith : ∀ h : C, (∀ v : V, h • v = v) → h = 1)
(hsimple : ∀ W : AddSubgroup V, (∀ (h : C), ∀ w ∈ W, h • w ∈ W) → W = ⊥ ∨ W = ⊤)
(hram : ∃ v : V, c tameTau • v ≠ v)
(q : V → ZMod 2) (hq : IsQuadraticFp2 q) (hns : Nonsingular q) (hinv : IsInvariant C q)
(dat : FactorSet C V) (hdat : IsEquivariantFactorSet q dat) :
∀ x ∈ deepPart (V := V) ρ, Q0loc D dat ρ x = 0 := by sorryAmbient section vars (SectionSix.lean:130–139): {C : Type} [Group C] [TopologicalSpace C] [DiscreteTopology C] [Finite C], {V : Type} [AddCommGroup V] [TopologicalSpace V] [DiscreteTopology V] [Finite V] [DistribMulAction AbsGalQ2 V] [ContinuousSMul AbsGalQ2 V] [DistribMulAction C V].
Consumer: GQ2/DeepPart.lean:1448 (prop_6_18_ramified). It currently inherits the sorryAx
through this lemma; closing it clears the ramified determinant theorem.
Q0loc (SectionSix.lean:145) is definitionally
fun x ↦ iotaF D (H2ofFun AbsGalQ2 (graphPullback dat ρ (Quotient.out x).1)).
| Ticket | Piece | Status |
|---|---|---|
| P-15f2 | umbrella (lemma_6_17_vanish) |
◐ |
| P-15f2a | DI-core (datum-independence, Lemma 6.1/6.4) | ✅ DONE (Q0loc_datum_indep, std-3) |
| P-15f2b | isometric regular embedding + §6.2 orbit decomposition | ☑ LANDED |
| P-15f2c | Shapiro coordinates + scalar deepness (COORDINATOR) | ◐ cores+infra landed |
| P-15f2c1 | Shapiro H¹ coordinate read (hcoh) |
✅ DONE (GQ2/ShapiroRead.lean, std-3) |
| P-15f2c2 | involution deep-unit Kummer presentation (hvanish) |
◐ split → c2a ∥ c2b (2d011e1) |
| P-15f2d | final assembly + SectionSix splice | ☐ OPEN (thin — infra landed) |
Everything below is landed, sorry-free. Signatures abbreviated; read the file for full binders.
f2b — the embedding + orbit decomposition (GQ2/RegularIsometry.lean, GQ2/OrbitDecomp.lean):
RegularIsometry.regular_isometric_embedding_orbit(RegularIsometry.lean:165) — the full f2b interface. Givene : C ≃* G ⧸ N,cT,hgen, and the module hyps, produces∃ (K : ℕ) (ι : V →+ (Fin K → RegRep N)) (r : (Fin K → RegRep N) →+ V), IsEquivariantFactorSet (fun F => q (r F)) (sumDatum (orbitIndexSet N (fun F => q (r F))) (orbitDatum N)) ∧ -- datW = orbit sum (∀ v, q (r (ι v)) = q v) ∧ -- isometry (∀ (a : C) (v : V), ι (a • v) = e a • ι v) ∧ -- e-equivariance (∀ v, r (ι v) = v) -- retractiondatWis definitionally the orbit sum — theQ0loc_vanish_of_datum_decompshape. Needs[Fintype (G ⧸ N)].OrbitDecomp.isEquivariantFactorSet_orbitSumDatum(OrbitDecomp.lean:1036) — the capstone the above wraps.IsEquivariantFactorSet Q (sumDatum (orbitIndexSet N Q) (orbitDatum N)).OrbitDecomp.orbitDatum(:779) —OrbitIx K Γ = Fin K ⊕ (Fin K × Γ) ⊕ (Fin K × Fin K × Γ)→FactorSet (G⧸N) (Fin K → RegRep N); each summand is a definitionalFactorSet.comapof a literalsquareOrbitDatum/invOrbitDatum/freeOrbitDatumalongblockProj/blockProj₂.OrbitDecomp.isEqFS_orbitDatum(:832),sum_orbitIndexSet(:807),orbitIndexSet(:802).
Lemma 6.14 transport (GQ2/RepIndependence.lean:157) — RepIndependence.lemma_6_14:
Q0loc D (datW.comap i) ρ x = Q0loc D datW ρ (mapCoeff1 i hic hicompat x)
with datW : FactorSet C W, i : V →+ W, hic : Continuous i,
hicompat/hiC : ∀ g/c, i (g•v) = g•i v / i (c•v) = c•i v, hdatW : IsEquivariantFactorSet q datW,
hρW : ∀ g w, g•w = ρ g•w. C-level (fixed acting group). mapCoeff1 i x = ι∗x.
The orbit reducer (GQ2/OrbitVanish.lean:294) — Q0loc_vanish_of_datum_decomp:
(hdat_eq : dat = sumDatum s datf)
(hdatf : ∀ o ∈ s, IsEquivariantFactorSet (qf o) (datf o))
(U : ι → Subgroup AbsGalQ2) (hfin/hopen) (inner) (hZ2)
(hcoh : ∀ o ∈ s, H2ofFun AbsGalQ2 (graphPullback (datf o) ρ (out x)) = H2ofFun (cor2Fun (U o) (inner o)))
(hvanish : ∀ o ∈ s, H2ofFun ↥(U o) (inner o) = 0)
⊢ Q0loc D dat ρ x = 0
No deepPart hypothesis — deepness enters only through hvanish.
Lemma 6.15 (GQ2/SectionSix.lean:664/690/706) — lemma_6_15_{square,free,involution}. Shape
(square): H2ofFun G (graphPullback (squareOrbitDatum N) (QuotientGroup.mk' N) (shapiroFun N α.1)) = H2ofFun G (cor2Fun N (fun p ↦ α.1 p.1 * α.1 p.2)) for α : Z1 N (ZMod 2). Note the acting map
is mk' N, and the cochain is shapiroFun N α.1 — this is what f2c1 must produce.
Lemma 6.16 (GQ2/SectionSix.lean:752) — lemma_6_16 (deep-unit Evens norm, Ax B9/B11a). Takes
the concrete Kummer field data (k, L, hkL, hindex, hunram, d, δ, hδ, hδL, hLδ, A, β, hdeep, hβ, hβ0, u, v, hAuv, s, hs, htriv, hUo, hα, …) and concludes evensNormH2 … = 0. f2c2 builds the
field data.
Deepness extraction (GQ2/LocalKummer.lean): mem_deepPart_iff (:305):
x ∈ deepPart ρ ↔ ∀ φ, phiRes ρ x φ ∈ deepClasses (ρ.toMonoidHom.ker); cup_deepClasses (:374,
the eq.-(94) orthogonality, Ax B11a); deepClass_eq_kummerClassK (:335).
Free-orbit conjugation-stability (GQ2/AdmissibleCount.lean:128) — conjAct_deepClasses:
conjAct ρ g carries a deep class to a deep class (= [κ_{g•β}] via kcf_conj, g•A deep by
norm_galois). The free orbit's hvanish needs the conjugate ḡβ deep — this supplies it.
hvanish_cup— square + freehvanish:H1mk a, H1mk b ∈ deepClasses k.fixingSubgroup ⟹ H2ofFun (cup11Fun mul a.1 b.1) = 0(viacup_deepClasses+ B²-extraction). Ax: B11a.hvanish_evensNorm— involutionhvanishbridge:evensNormH2 … = 0 ⟹ H2ofFun (evensNormFun U s α) = 0. std-3 (B9/B11a enter whenlemma_6_16supplies theevensNormH2 = 0).H2ofFun_eq_zero_of_H2mk— shared tail (H2mk = 0 ⟹ H2ofFun = 0).deepPart_mapCoeff1(§DeepTransport) — deepness transports along any continuous equivariantf : W₁ →+ W₂:x ∈ deepPart ρ ⟹ mapCoeff1 f x ∈ deepPart ρ(viaShapiroExtend.phiRes_mapCoeff1mem_deepPart_iff). Carriesx ∈ deepPart ρtoι∗x ∈ deepPart ρat the SAMEρ(no acting-group bridge needed if you keep the reducer atC; see §5-f2d).
FactorSet.reindexHom(§Reindex) — reindex a datum's acting group alongφ : C' → C(funchanged,mpre-composesφ).graphPullback_reindexHom—graphPullback (dat.reindexHom φ) ρ' b = graphPullback dat (φ∘ρ') bwhen∀ c' v, c' • v = φ c' • v(theC'-action is theφ-pullback). The C ↔G⧸Nlinchpin.Q0loc_reindexHom(§ReindexQ0loc) — same lifted toQ0loc:Q0loc (dat.reindexHom φ) ρ' x = Q0loc dat (φ.comp ρ') x.
FactorSet.reindexHom is declared _root_.GQ2.FactorSet.reindexHom (dot-notation on FactorSet).
Interface (banked, parametric): OrbitVanish.Q0loc_datum_indep_of_core (:414):
(hcore : graphPullback (diffDatum dat1 dat2) ρ (out x) ∈ B2 AbsGalQ2 (ZMod 2))
⊢ Q0loc D dat1 ρ x = Q0loc D dat2 ρ x
The task is to discharge hcore for two equivariant factor sets of the same q (unconditional
datum-independence). diffDatum is an equivariant factor set for the zero form
(isEquivariantFactorSet_diffDatum, banked). Increment A is banked: exists_refinement_of_zero_form
(:438) gives a quadratic refinement Δφ with polar Δdat.f. Increment B (open): correct Δφ
against the C-equivariance defect Δm — the genuine H¹(C, V∨) obstruction — to build the
coboundary Λ(g) = Δφ(b g). See docs/p15f2-option1-scoping.md. Cross-lane (not f2c).
Landed in GQ2/ShapiroRead.lean (NEW, registered; #print axioms = std-3 exactly on all
12 declarations; lake build green). The feared "Shapiro H¹ iso from scratch" dissolved —
the read is witness-level, one identity:
shapiroCoord N β := n ↦ β(n)(1̄)(scalar coordinate),shapiroPrim N β := u ↦ β(ũ)(u)(explicit primitive, canonical transversal).shapiroFun_shapiroCoord_eq: for anymk'-cocycleβ : G → RegRep N(raw hypothesishβ : β(gh) = β(g) + mk'(g)•β(h), generalG, no topology),Sh(shapiroCoord β)(g) = β(g) + (mk'(g) • shapiroPrim β − shapiroPrim β). Proof: the cocycle rule on the two factorizations ofg·(g⁻¹•u)~ = ũ·ℓ_u(g), evaluated atu;mk'_inv_mulis the extractedhactbridge.shapiroCoord_mem_Z1is theZ¹-package (continuity fromWdiscrete; multiplicativityshapiroCoord_mul).- Per-orbit
hcoh(atG_ℚ₂):hcoh_square j,hcoh_free j k ĝ,hcoh_involution j ĝ …— statementsH2ofFun (graphPullback (squareBlockDatum N j / freeBlockDatum N j k (mk' ĝ) / invBlockDatum N j (mk' ĝ)) ⇑(mk' N) b.1) = H2ofFun (cor2Fun …)with RHS matchinglemma_6_15_{square,free,involution}verbatim atα_j := shapiroCoord N (fun g => b.1 g j). Chain: bankedRepIndependence.graphPullback_sub_mem_B2at the block-supported primitive (Pi.single j w_j; the free pair usesFunction.update (Pi.single j w_j) k w_k, uniform in the same-blockj = kcase) → newgraphPullback_comapfunctoriality →lemma_6_15_*. NewdiscreteTopology_quotient_of_isOpen(AnabelianBridge argument at this layer). - The deep feed:
phiRes_evalW—phiRes ρ x (evalW j) = H1ofFun (shapiroCoord … (out x))is arfl— andshapiroCoord_mem_deepClasses(viamem_deepPart_iff): each block's scalar coordinate of a deep class is a deep Kummer class.
f2d consumption recipe: the §PerOrbit lemmas take instance-args on RegRep N
(TopologicalSpace/DiscreteTopology/Finite/DistribMulAction AbsGalQ2/ContinuousSMul)
plus hmk : ∀ g y, g • y = mk' N g • y — supply the letI := DistribMulAction.compHom _ (mk' N) family (then hmk := fun _ _ => rfl), take b := Quotient.out (ι∗x), and note
orbitDatum o matches the *BlockDatums definitionally; the acting-map bridge
⇑e ∘ ⇑ρ = ⇑(mk' N) is graphPullback_reindexHom (banked). U₀-side inputs for the
involution reducer slot (IsOpen U₀, Finite (G⧸U₀)) come from N ≤ U₀ (open mono +
quotient surjection) — small f2d bricks.
Deliverable: the involution hvanish o : H2ofFun ↥(U₀) (inner o) = 0, where inner o = evensNormFun (N.subgroupOf U₀) ĝ α (from lemma_6_15_involution). Route: build the concrete Kummer
field data lemma_6_16 consumes, apply it (gives evensNormH2 … = 0), then hvanish_evensNorm
(landed) closes.
The field data (from deepPart ρ's deep-unit witness at the involution block coordinate, via
mem_deepPart_iff + deepClass_eq_kummerClassK): k ≤ L (index-2, L = K(√A_j)), a Kummer
generator (d : kˣ, δ, hδ : δ² = d, hδL : δ ∈ L, hLδ : fixingSubgroup relation), and coordinates
(u : kˣ, v : k, hAuv : A = u + vδ) for the deep unit A ∈ L. This is standard char-≠2 Kummer
theory ("write L = k(√d), A = u + v√d"). Self-contained, no Shapiro dependency.
mathlib support (searched): IntermediateField.adjoin.powerBasis,
IntermediateField.powerBasisAux (degree-2 power basis for A = u + vδ),
Algebra.IsQuadraticExtension.finrank_eq_two. Gap: the √-adjoin generator (complete-the-square:
degree-2 minpoly X² − aX + b → δ = δ₀ − a/2, δ² = a²/4 − b ∈ k) is not a mathlib lemma —
build it. Bridges needed: AbsGalQ2 = Kummer.GaloisGroup ℚ_[2] and ker ρ = k.fixingSubgroup
(the DeepDualityK.kerToFixing / hker pointwise-membership pattern — see GQ2/DeepDualityK.lean).
Ax: ∅ construction (enables B9/B11a via lemma_6_16).
Compose the C-level chain (recommended — avoids a deepPart-at-mk'N bridge):
-- e : C ≃* AbsGalQ2 ⧸ ker ρ from ρ surjective (hc + hfac + B.tameF onto);
-- e := (QuotientGroup.quotientKerEquivOfSurjective ρ hρsurj).symm ; e ∘ ρ = mk' (ker ρ).
-- letI : DistribMulAction C W := e-pullback of the canonical G⧸N action on W = Fin K → RegRep N.
-- datW_C := (sumDatum (orbitIndexSet N (q∘r)) (orbitDatum N)).reindexHom e : FactorSet C W
obtain ⟨K, ι, r, hEqfs, hIso, hιe, hri⟩ := regular_isometric_embedding_orbit e cT hgen q hq hinv …
-- 1. datum-independence (f2a): dat ~ datW_C.comap ι (both equiv for q, via isometry q∘r∘ι = q)
-- 2. lemma_6_14 : Q0loc (datW_C.comap ι) ρ x = Q0loc datW_C ρ (ι∗x)
-- 3. Q0loc_vanish_of_datum_decomp at (C, ρ, W, dat := datW_C):
-- hdat_eq via reindexHom_sumDatum (reindexHom distributes over sumDatum — small OPEN brick)
-- hdatf via isEquivariantFactorSet_reindexHom (small OPEN brick) + isEqFS_orbitDatum
-- hcoh o via f2c1 (graphPullback_reindexHom turns e∘ρ into mk'N, then lemma_6_15_*)
-- hvanish via hvanish_cup (sq/free) + f2c2⇒hvanish_evensNorm (inv);
-- block deepness from deepPart_mapCoeff1 ρ (ι∗x ∈ deepPart ρ) + mem_deepPart_iffRemaining f2d wiring bricks (small, mechanical — none open mathematics):
reindexHom_sumDatum:(sumDatum s d).reindexHom φ = sumDatum s (fun o => (d o).reindexHom φ).isEquivariantFactorSet_reindexHom: equivariance preserved underreindexHom+φ-pullback action.- the e-pullback
DistribMulAction C Winstance (+hφ : c • w = e c • w) ande.comp ρ = mk' (ker ρ)asContinuousMonoidHoms. datW_C.comap ιequivariant forq(viadatum_comap+ isometryq∘r∘ι = q).- SectionSix splice:
lemma_6_17_vanishstatement is co-owned/frozen; exit via the §6.18ram statement-move (statement upstream, proof downstream) — coordinate with P-15f1/f8; the machinery lives inDeepPart/LocalKummer, so move the statement out of SectionSix or reroute theprop_6_18_ramifiedcitation.
- The
hvanishreducer takes nodeepParthyp — deepness threads only throughhvanish. Getι∗x ∈ deepPart ρfromdeepPart_mapCoeff1at the actualρ(C-level), thenmem_deepPart_iffgives each block coordinate deep. Keeping the reducer atC(notG⧸N) avoids adeepPart ρ = deepPart (mk' (ker ρ))bridge (they're equal as predicates but theH1 ↥ker-type subgroup —ρ.kervs(mk' N).ker— is not defeq;QuotientGroup.ker_mk'is atheorem). lemma_6_15acts viamk' N, the reducer viaρ— bridged bygraphPullback_reindexHomwithφ = e,e ∘ ρ = mk' N. This is exactly why the reindex bricks exist.lemma_6_11'sιis only a coinduced module map, notshapiroFun-shaped on cocycles — f2c1's step 2 is unavoidable (Shapiro's H¹ iso, not banked).FactorSet C Vneeds[Group C](fromOrbitData.lean:28's section vars), soreindexHom's target group must be aGroup.- Instance diamond on
W:W = Fin K → RegRep Ncarries the canonicalG⧸Naction; the C-view is aletIe-pullback. Beat rw-mismatches by stating bricks pointwise / defeq-filling (theShapiroExtend-RegMod-synonym idiom indocs/p15f-handoff.md §5is the reference pattern if the global trivialDistribMulAction AbsGalQ2 (ZMod 2)interferes). ρis surjective (needed fore):ρ = c ∘ B.tameF,hc : Surjective c, andB.tameFontoTtame(checkBoundaryMaps;SectionThree.gen_ttame_quotientis the generation input). The §6.3hcamendment travels with the frozen signatures (flag for P-20).
| File | Role |
|---|---|
GQ2/SectionSix.lean |
lemma_6_17_vanish (:882), lemma_6_15_* (:664/690/706), lemma_6_16 (:752), Q0loc (:145), deepPart (:836), IsDeepUnit (:734) |
GQ2/OrbitVanish.lean |
Q0loc_vanish_of_datum_decomp (:294), Q0loc_datum_indep_of_core (:414), sumDatum (:253), diffDatum/exists_refinement_of_zero_form (f2a substrate) |
GQ2/OrbitDecomp.lean |
f2b decomposition: orbitDatum (:779), isEquivariantFactorSet_orbitSumDatum (:1036), orbitIndexSet/isEqFS_orbitDatum, blockProj (:324) |
GQ2/RegularIsometry.lean |
f2b embedding: regular_isometric_embedding_orbit (:165), regular_isometric_embedding (:63), reBlock/reSummand reindex |
GQ2/RepIndependence.lean |
Lemma 6.14 lemma_6_14 (:157) |
GQ2/ShapiroDeepness.lean |
the landed f2d infra + hvanish cores (this session) |
GQ2/OrbitData.lean |
FactorSet (:34), graphPullback (:72), kappa0, FactorSet.comap (:78), RegRep/*OrbitDatum |
GQ2/LocalKummer.lean |
mem_deepPart_iff (:305), deepClasses (:295), cup_deepClasses (:374), deepClass_eq_kummerClassK (:335), phiRes (:216) |
GQ2/AdmissibleCount.lean |
conjAct_deepClasses (:128), kcf_conj (:85) |
GQ2/ShapiroExtend.lean |
phiRes_mapCoeff1 (:244), mapCoeff1_H1mk (:235) |
GQ2/Corestriction.lean |
shapiroFun (:71), cor2Fun (:81), cor1Fun (:76) — f2c1's Shapiro primitives |
GQ2/EvensKahn.lean |
evensNormFun (:281) — involution inner cochain |
GQ2/DeepPart.lean |
graphPullback_add_sub_mem_B2 (:823), consumer prop_6_18_ramified (:1448) |
GQ2/DeepDualityK.lean |
kerToFixing/hker pattern (f2c2's ker ρ = k.fixingSubgroup bridge) |
docs/p15f2c-design.md |
the ⟨2026-07-07⟩ design record (f2c1/f2c2 detail) |
docs/p15f2-option1-scoping.md |
f2a DI-core scoping |
docs/p15f2b-foundation-notes.md |
f2b scoping |
- f2c1 (keystone) and f2c2 (self-contained) in parallel — they share no dependency. f2c1 is the biggest risk (Shapiro's H¹ iso from scratch); scope it first, split if large.
- f2a (DI-core increment B) — cross-lane, independent; can run concurrently.
- f2d — once f2a + f2c1 + f2c2 land: build the small wiring bricks (§5-f2d), compose, and do the SectionSix statement-move splice (coordinate with P-15f1/f8). ~100–200 ln.
The critical path is max(f2a, f2c1, f2c2) then f2d. The f2d infra being pre-landed means the
capstone is genuinely thin.
The keystone is closed; see §5-f2c1 (rewritten in place) for the landed record and the f2d consumption recipe. Design deltas vs. the original plan, for the next agent:
- No H¹-level Shapiro machinery was needed — the read is a single explicit-witness
identity (
shapiroFun_shapiroCoord_eq), not an isomorphism package. TheinvLift/invLambda-style transversal Λ never appears: the primitive isw(u) = β(ũ)(u). - The B²-move is at the
W-level block datum, not theRegRep-level orbit datum — so the bankedgraphPullback_sub_mem_B2applies with itsZ¹(G_ℚ₂, W)element (b = out (ι∗x)directly), andgraphPullback_comap(new, general) converts to the literal Lemma-6.15 input after the shift. The public OrbitDecomp equivariance lemmas (isEquivariantFactorSet_*BlockDatum) feed it; theRegRep-levelisEqFS_*OrbitDatumareprivate— do not reach for them. - Lean gotchas banked: (i) under an unreduced pair-projection goal
… = (Sh_j g, Sh_k g).2,rw [shapiroFun_shapiroCoord_eq hβk]'s postponed higher-order unification letskabstractbind the lemma's implicit?βfrom the FIRST pair component (thejside) and then reports a type mismatch onhβk—show-reduce the projection AND pass(β := …)explicitly; (ii)RegRep Nis adefsynonym — NO instances beyondAddCommGroup/DistribMulAction (G⧸N)flow through it; the topological/G_ℚ₂-action instances must be arguments (statement level) orletIs (proof level), withPi-instances deriving theFin K → RegRep Nversions; (iii) the first post-snapshotlake buildcan fail transiently inside the mass rebuild (stale swarm artifacts) — rerun before diagnosing.
Remaining for lemma_6_17_vanish: P-15f2c2a ∥ c2b (involution Kummer field-data — the one
open mathematical input), then P-15f2d (composition + the SectionSix statement-move, coordinate
with P-15f1/f8).