Pith. sign in

IndisputableMonolith.Gravity.Analysis.ReggeBlochTransportedAllOrbitM2Eval4D

IndisputableMonolith/Gravity/Analysis/ReggeBlochTransportedAllOrbitM2Eval4D.lean · 1883 lines · 165 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Gravity.Analysis.ReggeBlochTransportedAllOrbit4D
   3import IndisputableMonolith.Gravity.Analysis.ReggeBlochM2Symbol4D
   4import IndisputableMonolith.Gravity.Analysis.ReggeFlat4DHessianAssembly
   5
   6/-!
   7# Transported all-orbit m² evaluation certificates
   8
   9Closes the raw all-orbit moment on `axisTTPlus` / `symbolDir`:
  10
  11  `m2TransportedAllOrbitMoment axisTTPlus symbolDir = -5/2`
  12
  13by integer (or radical-cancelled integer) per-orbit certificates, then sum.
  14Also proves gauge vanishing on `decoyGauge`, and the distinct-hinge
  15weighted moment (`1/r_τ`):
  16
  17  `m2TransportedAllOrbitMomentDistinctHinge axisTTPlus symbolDir = -1/4`
  18
  19(`-3/6 + 2/4 + (-3/2)/6`), with decoy gauge still `0`.
  20
  21Orbit slices on plus (THEOREM):
  22t11 = -3, t12 = +2, t13 = -3/2, t21 = t31 = t22 = 0.
  23
  24Also closes `axisTTCross` / `symbolDir` distinct-hinge isotropy:
  25
  26  `m2TransportedAllOrbitMomentDistinctHinge axisTTCross symbolDir = -1/4`
  27
  28(raw all-orbit on cross is `0`; orbit slices differ from plus, but the
  29`1/r_τ` fold matches).  Normalized plus/cross both give raw `-1/8`.
  30
  31Axis-aligned ray `e0Dir=(1,0,0,0)` is now Lean-certified: plus
  32distinct-hinge `0`, cross `-1/8` (normalized `-1/16`).  Plus/cross agree
  33on `symbolDir` and disagree on bare `e0` (OPEN
  34`Regge4DContinuumIsotropyBlockedOnAxisMode`).
  35
  36Full cosine two-jet `A0*K2 + A2*K0` (§12): slotwise `K0 = 0` on
  37`axisTTPlus` / `axisTTCross` (integer certificates), so full = trunc on
  38every direction; e0 anisotropy and plus vanishing are **not** repaired
  39(`Regge4DFullTwoJetRestoresE0PlusVanishing` / `...E0Isotropy` status false).
  40External probe receipt:
  41`state/qg_full_theory/probe_fulljet_distinct_hinge_20260721.json`.
  42
  43Does **not** flip `gap_action_recovery`.
  44-/
  45
  46namespace IndisputableMonolith
  47namespace Gravity
  48namespace Analysis
  49namespace ReggeBlochTransportedAllOrbitM2Eval4D
  50
  51open BigOperators
  52open ReggeEdgeStencil4D
  53open ReggeHinge4DOrbitClassification
  54open ReggeBlochFold4D
  55open ReggeBlochM2Symbol4D
  56open ReggeBlochOrbitTransport4D
  57open ReggeBlochTransportedAllOrbit4D
  58open ReggeBlochAllOrbitSymbol4D (isOrbit isOrbit_t11_iff_isT11 phaseScaleDir)
  59open ReggeFlat4DHessianAssembly
  60open EdgeTTDecomposition4D (axisTTPlus axisTTCross)
  61
  62abbrev Mat4 := Matrix (Fin 4) (Fin 4) ℝ
  63-- decoyGauge lives in ReggeEdgeStencil4D (already opened above)
  64
  65noncomputable section
  66
  67/-! ## §1. Pushforward reindex helpers -/
  68
  69theorem sum_mul_pushforward (v w : Fin 15 → ℝ) (p : Fin 24) :
  70    (∑ d : Fin 15, pushforwardClass v p d * w d) =
  71      ∑ d0 : Fin 15, v d0 * w (permClass p d0) := by
  72  unfold pushforwardClass
  73  simp_rw [Finset.sum_mul]
  74  rw [Finset.sum_comm]
  75  refine Finset.sum_congr rfl fun d0 _ => ?_
  76  have h : ∀ d : Fin 15,
  77      (if permClass p d0 = d then v d0 else 0) * w d =
  78        if permClass p d0 = d then v d0 * w d else 0 := by
  79    intro d; split_ifs <;> simp
  80  simp_rw [h]
  81  rw [Finset.sum_ite_eq]
  82  simp
  83
  84theorem sum_mul_pushforward_weighted (v w f : Fin 15 → ℝ) (p : Fin 24) :
  85    (∑ d : Fin 15, pushforwardClass v p d * w d * f d) =
  86      ∑ d0 : Fin 15, v d0 * w (permClass p d0) * f (permClass p d0) := by
  87  unfold pushforwardClass
  88  simp_rw [mul_assoc, Finset.sum_mul]
  89  rw [Finset.sum_comm]
  90  refine Finset.sum_congr rfl fun d0 _ => ?_
  91  have h : ∀ d : Fin 15,
  92      (if permClass p d0 = d then v d0 else 0) * (w d * f d) =
  93        if permClass p d0 = d then v d0 * (w d * f d) else 0 := by
  94    intro d; split_ifs <;> simp
  95  simp_rw [h]
  96  rw [Finset.sum_ite_eq]
  97  simp [mul_assoc]
  98
  99private lemma sum_div_const_st (c : ℝ) (f : Fin 24 → Fin 10 → ℝ) :
 100    (∑ s : Fin 24, ∑ t : Fin 10, f s t / c) =
 101      (∑ s : Fin 24, ∑ t : Fin 10, f s t) / c := by
 102  simp_rw [div_eq_mul_inv, ← Finset.sum_mul]
 103
 104private lemma sum_six_orbits (f : HingeOrbitType → ℝ) :
 105    (∑ ty : HingeOrbitType, f ty) =
 106      f .t11 + f .t12 + f .t21 + f .t13 + f .t31 + f .t22 := by
 107  have h : (Finset.univ : Finset HingeOrbitType) =
 108      insert HingeOrbitType.t11
 109        (insert HingeOrbitType.t12
 110          (insert HingeOrbitType.t21
 111            (insert HingeOrbitType.t13
 112              (insert HingeOrbitType.t31
 113                (insert HingeOrbitType.t22 (∅ : Finset HingeOrbitType)))))) := by
 114    decide
 115  simp [h, Finset.sum_insert]
 116  ring
 117
 118/-! ## §2. Integer area seeds (radical factored out) -/
 119
 120def area12Z (d : Fin 15) : ℤ :=
 121  match d with | ⟨0, _⟩ => 2 | ⟨5, _⟩ => 1 | _ => 0
 122
 123def area21Z (d : Fin 15) : ℤ :=
 124  match d with | ⟨2, _⟩ => 1 | ⟨3, _⟩ => 2 | _ => 0
 125
 126def area13Z (d : Fin 15) : ℤ :=
 127  match d with | ⟨0, _⟩ => 3 | ⟨13, _⟩ => 1 | _ => 0
 128
 129def area31Z (d : Fin 15) : ℤ :=
 130  match d with | ⟨6, _⟩ => 1 | ⟨7, _⟩ => 3 | _ => 0
 131
 132def area22Z (d : Fin 15) : ℤ :=
 133  match d with | ⟨2, _⟩ => 1 | ⟨11, _⟩ => 1 | _ => 0
 134
 135theorem areaCov12_eq_z (d : Fin 15) :
 136    areaCov12 d = Real.sqrt 2 * (area12Z d : ℝ) / 8 := by
 137  fin_cases d <;> simp [areaCov12, area12Z] <;> ring
 138
 139theorem areaCov21_eq_z (d : Fin 15) :
 140    areaCov21 d = Real.sqrt 2 * (area21Z d : ℝ) / 8 := by
 141  fin_cases d <;> simp [areaCov21, area21Z] <;> ring
 142
 143theorem areaCov13_eq_z (d : Fin 15) :
 144    areaCov13 d = Real.sqrt 3 * (area13Z d : ℝ) / 12 := by
 145  fin_cases d <;> simp [areaCov13, area13Z] <;> ring
 146
 147theorem areaCov31_eq_z (d : Fin 15) :
 148    areaCov31 d = Real.sqrt 3 * (area31Z d : ℝ) / 12 := by
 149  fin_cases d <;> simp [areaCov31, area31Z] <;> ring
 150
 151theorem areaCov22_eq_z (d : Fin 15) :
 152    areaCov22 d = (area22Z d : ℝ) / 4 := by
 153  fin_cases d <;> simp [areaCov22, area22Z] <;> norm_num
 154
 155/-! ## §3. Per-orbit slot certificates -/
 156
 157def slotAZ12 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 158  ∑ d0 : Fin 15, area12Z d0 * cz (permClass (orbitCoveringPerm .t12 s t) d0)
 159
 160def slotAZ21 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 161  ∑ d0 : Fin 15, area21Z d0 * cz (permClass (orbitCoveringPerm .t21 s t) d0)
 162
 163def slotAZ13 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 164  ∑ d0 : Fin 15, area13Z d0 * cz (permClass (orbitCoveringPerm .t13 s t) d0)
 165
 166def slotAZ31 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 167  ∑ d0 : Fin 15, area31Z d0 * cz (permClass (orbitCoveringPerm .t31 s t) d0)
 168
 169def slotAZ22 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 170  ∑ d0 : Fin 15, area22Z d0 * cz (permClass (orbitCoveringPerm .t22 s t) d0)
 171
 172def slotKppOrbit (sign : Fin 15 → ℤ) (cz : Fin 15 → ℤ)
 173    (ty : HingeOrbitType) (s : Fin 24) (t : Fin 10) : ℤ :=
 174  ∑ d0 : Fin 15,
 175    sign d0 * cz (permClass (orbitCoveringPerm ty s t) d0) *
 176      ((phase2Nat s t (permClass (orbitCoveringPerm ty s t) d0) : ℕ) : ℤ) ^ 2
 177
 178def m2OrbitCertZ12 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 179  if isOrbit .t12 s t then -slotAZ12 cz s t * slotKppOrbit kernel12Sign cz .t12 s t
 180  else 0
 181
 182def m2OrbitCertZ21 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 183  if isOrbit .t21 s t then -slotAZ21 cz s t * slotKppOrbit kernel12Sign cz .t21 s t
 184  else 0
 185
 186def m2OrbitCertZ13 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 187  if isOrbit .t13 s t then -slotAZ13 cz s t * slotKppOrbit kernel13Sign cz .t13 s t
 188  else 0
 189
 190def m2OrbitCertZ31 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 191  if isOrbit .t31 s t then -slotAZ31 cz s t * slotKppOrbit kernel13Sign cz .t31 s t
 192  else 0
 193
 194def m2OrbitCertZ22 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 195  if isOrbit .t22 s t then -slotAZ22 cz s t * slotKppOrbit kernel22Sign cz .t22 s t
 196  else 0
 197
 198/-! ## §4. Slot coefficient = certificate / denom -/
 199
 200private lemma sqrt2_mul_self : Real.sqrt 2 * Real.sqrt 2 = (2 : ℝ) := by
 201  simpa [pow_two] using Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 2)
 202
 203private lemma sqrt3_mul_self : Real.sqrt 3 * Real.sqrt 3 = (3 : ℝ) := by
 204  simpa [pow_two] using Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 3)
 205
 206private lemma radical2_slot_arith (AZ Kpp : ℤ) :
 207    Real.sqrt 2 * (AZ : ℝ) / 8 *
 208        (-(1 / 2 : ℝ) * (Real.sqrt 2 * (Kpp : ℝ) / 8)) =
 209      ((-AZ * Kpp : ℤ) : ℝ) / 64 := by
 210  have hs := sqrt2_mul_self
 211  ring_nf
 212  rw [show (Real.sqrt 2) ^ 2 = (2 : ℝ) by simpa [pow_two] using hs]
 213  push_cast; ring
 214
 215private lemma radical3_slot_arith (AZ Kpp : ℤ) :
 216    Real.sqrt 3 * (AZ : ℝ) / 12 *
 217        (-(1 / 2 : ℝ) * (Real.sqrt 3 * (Kpp : ℝ) / 4)) =
 218      ((-AZ * Kpp : ℤ) : ℝ) / 32 := by
 219  have hs := sqrt3_mul_self
 220  ring_nf
 221  rw [show (Real.sqrt 3) ^ 2 = (3 : ℝ) by simpa [pow_two] using hs]
 222  push_cast; ring
 223
 224private lemma area_push_sqrt2 (areaZ : Fin 15 → ℤ) (cz : Fin 15 → ℤ)
 225    (p : Fin 24) (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
 226    (area : Fin 15 → ℝ)
 227    (harea : ∀ d, area d = Real.sqrt 2 * (areaZ d : ℝ) / 8) :
 228    (∑ d0 : Fin 15, area d0 * classCoeff H (permClass p d0)) =
 229      Real.sqrt 2 *
 230        (∑ d0 : Fin 15, areaZ d0 * cz (permClass p d0) : ℤ) / 8 := by
 231  simp_rw [harea, hH]
 232  calc
 233    (∑ d0 : Fin 15,
 234        Real.sqrt 2 * (areaZ d0 : ℝ) / 8 * (cz (permClass p d0) : ℝ)) =
 235        Real.sqrt 2 / 8 *
 236          ∑ d0 : Fin 15,
 237            (areaZ d0 : ℝ) * (cz (permClass p d0) : ℝ) := by
 238      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
 239      refine Finset.sum_congr rfl fun d0 _ => by ring
 240    _ = Real.sqrt 2 *
 241          (∑ d0 : Fin 15, areaZ d0 * cz (permClass p d0) : ℤ) / 8 := by
 242      rw [Int.cast_sum]
 243      push_cast; ring
 244
 245private lemma area_push_sqrt3 (areaZ : Fin 15 → ℤ) (cz : Fin 15 → ℤ)
 246    (p : Fin 24) (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
 247    (area : Fin 15 → ℝ)
 248    (harea : ∀ d, area d = Real.sqrt 3 * (areaZ d : ℝ) / 12) :
 249    (∑ d0 : Fin 15, area d0 * classCoeff H (permClass p d0)) =
 250      Real.sqrt 3 *
 251        (∑ d0 : Fin 15, areaZ d0 * cz (permClass p d0) : ℤ) / 12 := by
 252  simp_rw [harea, hH]
 253  calc
 254    (∑ d0 : Fin 15,
 255        Real.sqrt 3 * (areaZ d0 : ℝ) / 12 * (cz (permClass p d0) : ℝ)) =
 256        Real.sqrt 3 / 12 *
 257          ∑ d0 : Fin 15,
 258            (areaZ d0 : ℝ) * (cz (permClass p d0) : ℝ) := by
 259      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
 260      refine Finset.sum_congr rfl fun d0 _ => by ring
 261    _ = Real.sqrt 3 *
 262          (∑ d0 : Fin 15, areaZ d0 * cz (permClass p d0) : ℤ) / 12 := by
 263      rw [Int.cast_sum]
 264      push_cast; ring
 265
 266private lemma ker_push_sqrt2_half (cz : Fin 15 → ℤ) (p : Fin 24)
 267    (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
 268    (s : Fin 24) (t : Fin 10) :
 269    (∑ d0 : Fin 15,
 270        ReggeHinge4DStarKernel12.fullStarClassKernel d0 *
 271          classCoeff H (permClass p d0) *
 272            (phaseScaleDir symbolDir (hingeBase s t) (permClass p d0)) ^ 2) =
 273      Real.sqrt 2 *
 274        (∑ d0 : Fin 15,
 275            kernel12Sign d0 * cz (permClass p d0) *
 276              ((phase2Nat s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 8 := by
 277  simp_rw [kernel12_eq_sign, hH, phaseScaleDir_symbolDir, phaseScale_eq_phase2Nat]
 278  calc
 279    (∑ d0 : Fin 15,
 280        ((kernel12Sign d0 : ℝ) * (Real.sqrt 2 / 2)) *
 281          (cz (permClass p d0) : ℝ) *
 282            (((phase2Nat s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
 283        Real.sqrt 2 / 8 *
 284          ∑ d0 : Fin 15,
 285            (kernel12Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
 286              ((phase2Nat s t (permClass p d0) : ℕ) : ℝ) ^ 2 := by
 287      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
 288      refine Finset.sum_congr rfl fun d0 _ => by ring
 289    _ = Real.sqrt 2 *
 290          (∑ d0 : Fin 15,
 291              kernel12Sign d0 * cz (permClass p d0) *
 292                ((phase2Nat s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 8 := by
 293      rw [Int.cast_sum]
 294      push_cast; ring
 295
 296private lemma ker_push_sqrt3 (cz : Fin 15 → ℤ) (p : Fin 24)
 297    (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
 298    (s : Fin 24) (t : Fin 10) :
 299    (∑ d0 : Fin 15,
 300        ReggeHinge4DStarKernel13.fullStarClassKernel d0 *
 301          classCoeff H (permClass p d0) *
 302            (phaseScaleDir symbolDir (hingeBase s t) (permClass p d0)) ^ 2) =
 303      Real.sqrt 3 *
 304        (∑ d0 : Fin 15,
 305            kernel13Sign d0 * cz (permClass p d0) *
 306              ((phase2Nat s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
 307  simp_rw [kernel13_eq_sign, hH, phaseScaleDir_symbolDir, phaseScale_eq_phase2Nat]
 308  calc
 309    (∑ d0 : Fin 15,
 310        ((kernel13Sign d0 : ℝ) * Real.sqrt 3) *
 311          (cz (permClass p d0) : ℝ) *
 312            (((phase2Nat s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
 313        Real.sqrt 3 / 4 *
 314          ∑ d0 : Fin 15,
 315            (kernel13Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
 316              ((phase2Nat s t (permClass p d0) : ℕ) : ℝ) ^ 2 := by
 317      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
 318      refine Finset.sum_congr rfl fun d0 _ => by ring
 319    _ = Real.sqrt 3 *
 320          (∑ d0 : Fin 15,
 321              kernel13Sign d0 * cz (permClass p d0) *
 322                ((phase2Nat s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
 323      rw [Int.cast_sum]
 324      push_cast; ring
 325
 326theorem m2TransportedOrbitSlotCoeff_t12_eq_cert (H : Mat4) (cz : Fin 15 → ℤ)
 327    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
 328    m2TransportedOrbitSlotCoeff .t12 H symbolDir s t =
 329      (m2OrbitCertZ12 cz s t : ℝ) / 64 := by
 330  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
 331    m2OrbitCertZ12
 332  by_cases ht : isOrbit .t12 s t
 333  · simp only [ht, ite_true]
 334    set p := orbitCoveringPerm .t12 s t with hp
 335    have hA :
 336        (∑ d : Fin 15, slotOrbitAreaCov .t12 s t d * classCoeff H d) =
 337          Real.sqrt 2 * (slotAZ12 cz s t : ℝ) / 8 := by
 338      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
 339      rw [sum_mul_pushforward, ← hp]
 340      simpa [slotAZ12, hp] using
 341        area_push_sqrt2 area12Z cz p H hH areaCov12 areaCov12_eq_z
 342    have hK :
 343        (∑ d : Fin 15,
 344            slotOrbitDeficitKer .t12 s t d * classCoeff H d *
 345              (phaseScaleDir symbolDir (hingeBase s t) d) ^ 2) =
 346          Real.sqrt 2 * (slotKppOrbit kernel12Sign cz .t12 s t : ℝ) / 8 := by
 347      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
 348      rw [sum_mul_pushforward_weighted, ← hp]
 349      simpa [slotKppOrbit, hp] using ker_push_sqrt2_half cz p H hH s t
 350    rw [hA, hK]
 351    exact radical2_slot_arith (slotAZ12 cz s t)
 352      (slotKppOrbit kernel12Sign cz .t12 s t)
 353  · simp [ht]
 354
 355theorem m2TransportedOrbitSlotCoeff_t21_eq_cert (H : Mat4) (cz : Fin 15 → ℤ)
 356    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
 357    m2TransportedOrbitSlotCoeff .t21 H symbolDir s t =
 358      (m2OrbitCertZ21 cz s t : ℝ) / 64 := by
 359  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
 360    m2OrbitCertZ21
 361  by_cases ht : isOrbit .t21 s t
 362  · simp only [ht, ite_true]
 363    set p := orbitCoveringPerm .t21 s t with hp
 364    have hA :
 365        (∑ d : Fin 15, slotOrbitAreaCov .t21 s t d * classCoeff H d) =
 366          Real.sqrt 2 * (slotAZ21 cz s t : ℝ) / 8 := by
 367      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
 368      rw [sum_mul_pushforward, ← hp]
 369      simpa [slotAZ21, hp] using
 370        area_push_sqrt2 area21Z cz p H hH areaCov21 areaCov21_eq_z
 371    have hK :
 372        (∑ d : Fin 15,
 373            slotOrbitDeficitKer .t21 s t d * classCoeff H d *
 374              (phaseScaleDir symbolDir (hingeBase s t) d) ^ 2) =
 375          Real.sqrt 2 * (slotKppOrbit kernel12Sign cz .t21 s t : ℝ) / 8 := by
 376      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel,
 377        kernel21]
 378      rw [sum_mul_pushforward_weighted, ← hp]
 379      simpa [slotKppOrbit, hp] using ker_push_sqrt2_half cz p H hH s t
 380    rw [hA, hK]
 381    exact radical2_slot_arith (slotAZ21 cz s t)
 382      (slotKppOrbit kernel12Sign cz .t21 s t)
 383  · simp [ht]
 384
 385theorem m2TransportedOrbitSlotCoeff_t13_eq_cert (H : Mat4) (cz : Fin 15 → ℤ)
 386    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
 387    m2TransportedOrbitSlotCoeff .t13 H symbolDir s t =
 388      (m2OrbitCertZ13 cz s t : ℝ) / 32 := by
 389  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
 390    m2OrbitCertZ13
 391  by_cases ht : isOrbit .t13 s t
 392  · simp only [ht, ite_true]
 393    set p := orbitCoveringPerm .t13 s t with hp
 394    have hA :
 395        (∑ d : Fin 15, slotOrbitAreaCov .t13 s t d * classCoeff H d) =
 396          Real.sqrt 3 * (slotAZ13 cz s t : ℝ) / 12 := by
 397      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
 398      rw [sum_mul_pushforward, ← hp]
 399      simpa [slotAZ13, hp] using
 400        area_push_sqrt3 area13Z cz p H hH areaCov13 areaCov13_eq_z
 401    have hK :
 402        (∑ d : Fin 15,
 403            slotOrbitDeficitKer .t13 s t d * classCoeff H d *
 404              (phaseScaleDir symbolDir (hingeBase s t) d) ^ 2) =
 405          Real.sqrt 3 * (slotKppOrbit kernel13Sign cz .t13 s t : ℝ) / 4 := by
 406      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
 407      rw [sum_mul_pushforward_weighted, ← hp]
 408      simpa [slotKppOrbit, hp] using ker_push_sqrt3 cz p H hH s t
 409    rw [hA, hK]
 410    exact radical3_slot_arith (slotAZ13 cz s t)
 411      (slotKppOrbit kernel13Sign cz .t13 s t)
 412  · simp [ht]
 413
 414theorem m2TransportedOrbitSlotCoeff_t31_eq_cert (H : Mat4) (cz : Fin 15 → ℤ)
 415    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
 416    m2TransportedOrbitSlotCoeff .t31 H symbolDir s t =
 417      (m2OrbitCertZ31 cz s t : ℝ) / 32 := by
 418  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
 419    m2OrbitCertZ31
 420  by_cases ht : isOrbit .t31 s t
 421  · simp only [ht, ite_true]
 422    set p := orbitCoveringPerm .t31 s t with hp
 423    have hA :
 424        (∑ d : Fin 15, slotOrbitAreaCov .t31 s t d * classCoeff H d) =
 425          Real.sqrt 3 * (slotAZ31 cz s t : ℝ) / 12 := by
 426      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
 427      rw [sum_mul_pushforward, ← hp]
 428      simpa [slotAZ31, hp] using
 429        area_push_sqrt3 area31Z cz p H hH areaCov31 areaCov31_eq_z
 430    have hK :
 431        (∑ d : Fin 15,
 432            slotOrbitDeficitKer .t31 s t d * classCoeff H d *
 433              (phaseScaleDir symbolDir (hingeBase s t) d) ^ 2) =
 434          Real.sqrt 3 * (slotKppOrbit kernel13Sign cz .t31 s t : ℝ) / 4 := by
 435      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel,
 436        kernel31]
 437      rw [sum_mul_pushforward_weighted, ← hp]
 438      simpa [slotKppOrbit, hp] using ker_push_sqrt3 cz p H hH s t
 439    rw [hA, hK]
 440    exact radical3_slot_arith (slotAZ31 cz s t)
 441      (slotKppOrbit kernel13Sign cz .t31 s t)
 442  · simp [ht]
 443
 444theorem m2TransportedOrbitSlotCoeff_t22_eq_cert (H : Mat4) (cz : Fin 15 → ℤ)
 445    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
 446    m2TransportedOrbitSlotCoeff .t22 H symbolDir s t =
 447      (m2OrbitCertZ22 cz s t : ℝ) / 32 := by
 448  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
 449    m2OrbitCertZ22
 450  by_cases ht : isOrbit .t22 s t
 451  · simp only [ht, ite_true]
 452    set p := orbitCoveringPerm .t22 s t with hp
 453    have hA :
 454        (∑ d : Fin 15, slotOrbitAreaCov .t22 s t d * classCoeff H d) =
 455          (slotAZ22 cz s t : ℝ) / 4 := by
 456      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
 457      rw [sum_mul_pushforward, ← hp]
 458      unfold slotAZ22
 459      simp_rw [areaCov22_eq_z, hH]
 460      calc
 461        (∑ d0 : Fin 15,
 462            (area22Z d0 : ℝ) / 4 * (cz (permClass p d0) : ℝ)) =
 463            (∑ d0 : Fin 15, (area22Z d0 : ℝ) * (cz (permClass p d0) : ℝ)) /
 464              4 := by
 465          rw [Finset.sum_div]
 466          refine Finset.sum_congr rfl fun d0 _ => by ring
 467        _ = (∑ d0 : Fin 15, area22Z d0 * cz (permClass p d0) : ℤ) / 4 := by
 468          rw [Int.cast_sum]; push_cast; rfl
 469    have hK :
 470        (∑ d : Fin 15,
 471            slotOrbitDeficitKer .t22 s t d * classCoeff H d *
 472              (phaseScaleDir symbolDir (hingeBase s t) d) ^ 2) =
 473          (slotKppOrbit kernel22Sign cz .t22 s t : ℝ) / 4 := by
 474      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
 475      rw [sum_mul_pushforward_weighted, ← hp]
 476      unfold slotKppOrbit
 477      simp_rw [kernel22_eq_sign, hH, phaseScaleDir_symbolDir,
 478        phaseScale_eq_phase2Nat]
 479      calc
 480        (∑ d0 : Fin 15,
 481            (kernel22Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
 482              (((phase2Nat s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
 483            (∑ d0 : Fin 15,
 484                (kernel22Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
 485                  ((phase2Nat s t (permClass p d0) : ℕ) : ℝ) ^ 2) / 4 := by
 486          rw [Finset.sum_div]
 487          refine Finset.sum_congr rfl fun d0 _ => by ring
 488        _ = (∑ d0 : Fin 15,
 489                kernel22Sign d0 * cz (permClass p d0) *
 490                  ((phase2Nat s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
 491          rw [Int.cast_sum]; push_cast; rfl
 492    rw [hA, hK]
 493    push_cast; ring
 494  · simp [ht]
 495
 496/-! ## §5. Decidable integer sums -/
 497
 498set_option maxRecDepth 12000 in
 499set_option maxHeartbeats 8000000 in
 500theorem sum_m2OrbitCertZ12_axis :
 501    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ12 axisTTPlusCoeffZ s t) =
 502      (128 : ℤ) := by
 503  decide
 504
 505set_option maxRecDepth 12000 in
 506set_option maxHeartbeats 8000000 in
 507theorem sum_m2OrbitCertZ21_axis :
 508    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ21 axisTTPlusCoeffZ s t) =
 509      (0 : ℤ) := by
 510  decide
 511
 512set_option maxRecDepth 12000 in
 513set_option maxHeartbeats 8000000 in
 514theorem sum_m2OrbitCertZ13_axis :
 515    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ13 axisTTPlusCoeffZ s t) =
 516      (-48 : ℤ) := by
 517  decide
 518
 519set_option maxRecDepth 12000 in
 520set_option maxHeartbeats 8000000 in
 521theorem sum_m2OrbitCertZ31_axis :
 522    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ31 axisTTPlusCoeffZ s t) =
 523      (0 : ℤ) := by
 524  decide
 525
 526set_option maxRecDepth 12000 in
 527set_option maxHeartbeats 8000000 in
 528theorem sum_m2OrbitCertZ22_axis :
 529    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ22 axisTTPlusCoeffZ s t) =
 530      (0 : ℤ) := by
 531  decide
 532
 533set_option maxRecDepth 12000 in
 534set_option maxHeartbeats 8000000 in
 535theorem sum_m2OrbitCertZ12_gauge :
 536    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ12 decoyGaugeCoeffZ s t) =
 537      (0 : ℤ) := by
 538  decide
 539
 540set_option maxRecDepth 12000 in
 541set_option maxHeartbeats 8000000 in
 542theorem sum_m2OrbitCertZ21_gauge :
 543    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ21 decoyGaugeCoeffZ s t) =
 544      (0 : ℤ) := by
 545  decide
 546
 547set_option maxRecDepth 12000 in
 548set_option maxHeartbeats 8000000 in
 549theorem sum_m2OrbitCertZ13_gauge :
 550    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ13 decoyGaugeCoeffZ s t) =
 551      (0 : ℤ) := by
 552  decide
 553
 554set_option maxRecDepth 12000 in
 555set_option maxHeartbeats 8000000 in
 556theorem sum_m2OrbitCertZ31_gauge :
 557    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ31 decoyGaugeCoeffZ s t) =
 558      (0 : ℤ) := by
 559  decide
 560
 561set_option maxRecDepth 12000 in
 562set_option maxHeartbeats 8000000 in
 563theorem sum_m2OrbitCertZ22_gauge :
 564    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ22 decoyGaugeCoeffZ s t) =
 565      (0 : ℤ) := by
 566  decide
 567
 568/-! ## §6. Per-orbit moment evaluations -/
 569
 570theorem m2TransportedOrbitMoment_t12_axis :
 571    m2TransportedOrbitMoment .t12 axisTTPlus symbolDir = (2 : ℝ) := by
 572  unfold m2TransportedOrbitMoment
 573  simp_rw [m2TransportedOrbitSlotCoeff_t12_eq_cert axisTTPlus axisTTPlusCoeffZ
 574    classCoeff_axisTTPlus_int]
 575  have hsum :
 576      (∑ s : Fin 24, ∑ t : Fin 10,
 577          (m2OrbitCertZ12 axisTTPlusCoeffZ s t : ℝ)) = (128 : ℝ) := by
 578    simpa [Int.cast_sum] using
 579      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ12_axis
 580  rw [sum_div_const_st, hsum]; norm_num
 581
 582theorem m2TransportedOrbitMoment_t21_axis :
 583    m2TransportedOrbitMoment .t21 axisTTPlus symbolDir = (0 : ℝ) := by
 584  unfold m2TransportedOrbitMoment
 585  simp_rw [m2TransportedOrbitSlotCoeff_t21_eq_cert axisTTPlus axisTTPlusCoeffZ
 586    classCoeff_axisTTPlus_int]
 587  have hsum :
 588      (∑ s : Fin 24, ∑ t : Fin 10,
 589          (m2OrbitCertZ21 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
 590    simpa [Int.cast_sum] using
 591      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ21_axis
 592  rw [sum_div_const_st, hsum]; norm_num
 593
 594theorem m2TransportedOrbitMoment_t13_axis :
 595    m2TransportedOrbitMoment .t13 axisTTPlus symbolDir = (-3 / 2 : ℝ) := by
 596  unfold m2TransportedOrbitMoment
 597  simp_rw [m2TransportedOrbitSlotCoeff_t13_eq_cert axisTTPlus axisTTPlusCoeffZ
 598    classCoeff_axisTTPlus_int]
 599  have hsum :
 600      (∑ s : Fin 24, ∑ t : Fin 10,
 601          (m2OrbitCertZ13 axisTTPlusCoeffZ s t : ℝ)) = (-48 : ℝ) := by
 602    simpa [Int.cast_sum] using
 603      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ13_axis
 604  rw [sum_div_const_st, hsum]; norm_num
 605
 606theorem m2TransportedOrbitMoment_t31_axis :
 607    m2TransportedOrbitMoment .t31 axisTTPlus symbolDir = (0 : ℝ) := by
 608  unfold m2TransportedOrbitMoment
 609  simp_rw [m2TransportedOrbitSlotCoeff_t31_eq_cert axisTTPlus axisTTPlusCoeffZ
 610    classCoeff_axisTTPlus_int]
 611  have hsum :
 612      (∑ s : Fin 24, ∑ t : Fin 10,
 613          (m2OrbitCertZ31 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
 614    simpa [Int.cast_sum] using
 615      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ31_axis
 616  rw [sum_div_const_st, hsum]; norm_num
 617
 618theorem m2TransportedOrbitMoment_t22_axis :
 619    m2TransportedOrbitMoment .t22 axisTTPlus symbolDir = (0 : ℝ) := by
 620  unfold m2TransportedOrbitMoment
 621  simp_rw [m2TransportedOrbitSlotCoeff_t22_eq_cert axisTTPlus axisTTPlusCoeffZ
 622    classCoeff_axisTTPlus_int]
 623  have hsum :
 624      (∑ s : Fin 24, ∑ t : Fin 10,
 625          (m2OrbitCertZ22 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
 626    simpa [Int.cast_sum] using
 627      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ22_axis
 628  rw [sum_div_const_st, hsum]; norm_num
 629
 630theorem m2TransportedOrbitMoment_t11_axis :
 631    m2TransportedOrbitMoment .t11 axisTTPlus symbolDir = (-3 : ℝ) := by
 632  rw [m2TransportedOrbitMoment_t11, m2Symbol_axisTTPlus]
 633
 634/-! ## §7. All-orbit axis evaluation -/
 635
 636theorem m2TransportedAllOrbitMoment_axisTTPlus_symbolDir :
 637    m2TransportedAllOrbitMoment axisTTPlus symbolDir = (-5 / 2 : ℝ) := by
 638  unfold m2TransportedAllOrbitMoment
 639  rw [sum_six_orbits]
 640  rw [m2TransportedOrbitMoment_t11_axis, m2TransportedOrbitMoment_t12_axis,
 641    m2TransportedOrbitMoment_t21_axis, m2TransportedOrbitMoment_t13_axis,
 642    m2TransportedOrbitMoment_t31_axis, m2TransportedOrbitMoment_t22_axis]
 643  norm_num
 644
 645theorem M2TransportedAllOrbitAxisSymbolDirEvalOpen_holds :
 646    M2TransportedAllOrbitAxisSymbolDirEvalOpen :=
 647  m2TransportedAllOrbitMoment_axisTTPlus_symbolDir
 648
 649/-! ## §8. Gauge vanishing -/
 650
 651theorem m2TransportedOrbitMoment_t12_gauge :
 652    m2TransportedOrbitMoment .t12 decoyGauge symbolDir = (0 : ℝ) := by
 653  unfold m2TransportedOrbitMoment
 654  simp_rw [m2TransportedOrbitSlotCoeff_t12_eq_cert decoyGauge decoyGaugeCoeffZ
 655    classCoeff_decoyGauge_int]
 656  have hsum :
 657      (∑ s : Fin 24, ∑ t : Fin 10,
 658          (m2OrbitCertZ12 decoyGaugeCoeffZ s t : ℝ)) = (0 : ℝ) := by
 659    simpa [Int.cast_sum] using
 660      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ12_gauge
 661  rw [sum_div_const_st, hsum]; norm_num
 662
 663theorem m2TransportedOrbitMoment_t21_gauge :
 664    m2TransportedOrbitMoment .t21 decoyGauge symbolDir = (0 : ℝ) := by
 665  unfold m2TransportedOrbitMoment
 666  simp_rw [m2TransportedOrbitSlotCoeff_t21_eq_cert decoyGauge decoyGaugeCoeffZ
 667    classCoeff_decoyGauge_int]
 668  have hsum :
 669      (∑ s : Fin 24, ∑ t : Fin 10,
 670          (m2OrbitCertZ21 decoyGaugeCoeffZ s t : ℝ)) = (0 : ℝ) := by
 671    simpa [Int.cast_sum] using
 672      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ21_gauge
 673  rw [sum_div_const_st, hsum]; norm_num
 674
 675theorem m2TransportedOrbitMoment_t13_gauge :
 676    m2TransportedOrbitMoment .t13 decoyGauge symbolDir = (0 : ℝ) := by
 677  unfold m2TransportedOrbitMoment
 678  simp_rw [m2TransportedOrbitSlotCoeff_t13_eq_cert decoyGauge decoyGaugeCoeffZ
 679    classCoeff_decoyGauge_int]
 680  have hsum :
 681      (∑ s : Fin 24, ∑ t : Fin 10,
 682          (m2OrbitCertZ13 decoyGaugeCoeffZ s t : ℝ)) = (0 : ℝ) := by
 683    simpa [Int.cast_sum] using
 684      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ13_gauge
 685  rw [sum_div_const_st, hsum]; norm_num
 686
 687theorem m2TransportedOrbitMoment_t31_gauge :
 688    m2TransportedOrbitMoment .t31 decoyGauge symbolDir = (0 : ℝ) := by
 689  unfold m2TransportedOrbitMoment
 690  simp_rw [m2TransportedOrbitSlotCoeff_t31_eq_cert decoyGauge decoyGaugeCoeffZ
 691    classCoeff_decoyGauge_int]
 692  have hsum :
 693      (∑ s : Fin 24, ∑ t : Fin 10,
 694          (m2OrbitCertZ31 decoyGaugeCoeffZ s t : ℝ)) = (0 : ℝ) := by
 695    simpa [Int.cast_sum] using
 696      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ31_gauge
 697  rw [sum_div_const_st, hsum]; norm_num
 698
 699theorem m2TransportedOrbitMoment_t22_gauge :
 700    m2TransportedOrbitMoment .t22 decoyGauge symbolDir = (0 : ℝ) := by
 701  unfold m2TransportedOrbitMoment
 702  simp_rw [m2TransportedOrbitSlotCoeff_t22_eq_cert decoyGauge decoyGaugeCoeffZ
 703    classCoeff_decoyGauge_int]
 704  have hsum :
 705      (∑ s : Fin 24, ∑ t : Fin 10,
 706          (m2OrbitCertZ22 decoyGaugeCoeffZ s t : ℝ)) = (0 : ℝ) := by
 707    simpa [Int.cast_sum] using
 708      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ22_gauge
 709  rw [sum_div_const_st, hsum]; norm_num
 710
 711theorem m2TransportedOrbitMoment_t11_gauge :
 712    m2TransportedOrbitMoment .t11 decoyGauge symbolDir = (0 : ℝ) := by
 713  rw [m2TransportedOrbitMoment_t11, m2Symbol_decoyGauge]
 714
 715theorem m2TransportedAllOrbitMoment_decoyGauge_symbolDir :
 716    m2TransportedAllOrbitMoment decoyGauge symbolDir = (0 : ℝ) := by
 717  unfold m2TransportedAllOrbitMoment
 718  rw [sum_six_orbits]
 719  rw [m2TransportedOrbitMoment_t11_gauge, m2TransportedOrbitMoment_t12_gauge,
 720    m2TransportedOrbitMoment_t21_gauge, m2TransportedOrbitMoment_t13_gauge,
 721    m2TransportedOrbitMoment_t31_gauge, m2TransportedOrbitMoment_t22_gauge]
 722  ring
 723
 724/-! ## §9. Distinct-hinge weight `1/r_τ` -/
 725
 726theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_symbolDir :
 727    m2TransportedAllOrbitMomentDistinctHinge axisTTPlus symbolDir =
 728      (-1 / 4 : ℝ) := by
 729  unfold m2TransportedAllOrbitMomentDistinctHinge
 730  rw [sum_six_orbits]
 731  simp only [orbitStarSize]
 732  rw [m2TransportedOrbitMoment_t11_axis, m2TransportedOrbitMoment_t12_axis,
 733    m2TransportedOrbitMoment_t21_axis, m2TransportedOrbitMoment_t13_axis,
 734    m2TransportedOrbitMoment_t31_axis, m2TransportedOrbitMoment_t22_axis]
 735  -- `-3/6 + 2/4 + (-3/2)/6 + 0 + 0 + 0 = -1/4`
 736  norm_num
 737
 738theorem M2DistinctHingeAxisSymbolDirEvalOpen_holds :
 739    M2DistinctHingeAxisSymbolDirEvalOpen :=
 740  m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_symbolDir
 741
 742theorem m2TransportedAllOrbitMomentDistinctHinge_decoyGauge_symbolDir :
 743    m2TransportedAllOrbitMomentDistinctHinge decoyGauge symbolDir =
 744      (0 : ℝ) := by
 745  unfold m2TransportedAllOrbitMomentDistinctHinge
 746  rw [sum_six_orbits]
 747  simp only [orbitStarSize]
 748  rw [m2TransportedOrbitMoment_t11_gauge, m2TransportedOrbitMoment_t12_gauge,
 749    m2TransportedOrbitMoment_t21_gauge, m2TransportedOrbitMoment_t13_gauge,
 750    m2TransportedOrbitMoment_t31_gauge, m2TransportedOrbitMoment_t22_gauge]
 751  ring
 752
 753/-- Frobenius-normalized axis plus: factor `(1/√2)² = 1/2` on the
 754distinct-hinge raw `-1/4` yields raw moment `-1/8`.  After `/|symbolDir|²`
 755the continuum face is `-1/16`; EH Tendsto to `-1/4` remains OPEN
 756(residual factor 4; no fitted rescale). -/
 757theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTPlusNormalized_symbolDir :
 758    m2TransportedAllOrbitMomentDistinctHinge
 759        ((Real.sqrt 2)⁻¹ • axisTTPlus) symbolDir =
 760      (-1 / 8 : ℝ) := by
 761  rw [m2TransportedAllOrbitMomentDistinctHinge_smul,
 762    m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_symbolDir,
 763    inv_pow, Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 2)]
 764  norm_num
 765
 766/-! ## §10. Axis TT cross certificates on `symbolDir` -/
 767
 768set_option maxRecDepth 12000 in
 769set_option maxHeartbeats 8000000 in
 770theorem sum_m2SlotCertZ_cross :
 771    (∑ s : Fin 24, ∑ t : Fin 10, m2SlotCertZ axisTTCrossCoeffZ s t) =
 772      (0 : ℤ) := by
 773  decide
 774
 775set_option maxRecDepth 12000 in
 776set_option maxHeartbeats 8000000 in
 777theorem sum_m2OrbitCertZ12_cross :
 778    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ12 axisTTCrossCoeffZ s t) =
 779      (-256 : ℤ) := by
 780  decide
 781
 782set_option maxRecDepth 12000 in
 783set_option maxHeartbeats 8000000 in
 784theorem sum_m2OrbitCertZ21_cross :
 785    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ21 axisTTCrossCoeffZ s t) =
 786      (-64 : ℤ) := by
 787  decide
 788
 789set_option maxRecDepth 12000 in
 790set_option maxHeartbeats 8000000 in
 791theorem sum_m2OrbitCertZ13_cross :
 792    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ13 axisTTCrossCoeffZ s t) =
 793      (48 : ℤ) := by
 794  decide
 795
 796set_option maxRecDepth 12000 in
 797set_option maxHeartbeats 8000000 in
 798theorem sum_m2OrbitCertZ31_cross :
 799    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ31 axisTTCrossCoeffZ s t) =
 800      (48 : ℤ) := by
 801  decide
 802
 803set_option maxRecDepth 12000 in
 804set_option maxHeartbeats 8000000 in
 805theorem sum_m2OrbitCertZ22_cross :
 806    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ22 axisTTCrossCoeffZ s t) =
 807      (64 : ℤ) := by
 808  decide
 809
 810theorem m2Symbol_axisTTCross : m2Symbol axisTTCross = (0 : ℝ) := by
 811  unfold m2Symbol
 812  simp_rw [m2SlotCoeff_eq_cert axisTTCross axisTTCrossCoeffZ
 813    classCoeff_axisTTCross_int]
 814  have hsum :
 815      (∑ s : Fin 24, ∑ t : Fin 10,
 816          (m2SlotCertZ axisTTCrossCoeffZ s t : ℝ)) = (0 : ℝ) := by
 817    simpa [Int.cast_sum] using
 818      congrArg (fun n : ℤ => (n : ℝ)) sum_m2SlotCertZ_cross
 819  rw [sum_div_const_st, hsum]; norm_num
 820
 821theorem m2TransportedOrbitMoment_t11_cross :
 822    m2TransportedOrbitMoment .t11 axisTTCross symbolDir = (0 : ℝ) := by
 823  rw [m2TransportedOrbitMoment_t11, m2Symbol_axisTTCross]
 824
 825theorem m2TransportedOrbitMoment_t12_cross :
 826    m2TransportedOrbitMoment .t12 axisTTCross symbolDir = (-4 : ℝ) := by
 827  unfold m2TransportedOrbitMoment
 828  simp_rw [m2TransportedOrbitSlotCoeff_t12_eq_cert axisTTCross axisTTCrossCoeffZ
 829    classCoeff_axisTTCross_int]
 830  have hsum :
 831      (∑ s : Fin 24, ∑ t : Fin 10,
 832          (m2OrbitCertZ12 axisTTCrossCoeffZ s t : ℝ)) = (-256 : ℝ) := by
 833    simpa [Int.cast_sum] using
 834      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ12_cross
 835  rw [sum_div_const_st, hsum]; norm_num
 836
 837theorem m2TransportedOrbitMoment_t21_cross :
 838    m2TransportedOrbitMoment .t21 axisTTCross symbolDir = (-1 : ℝ) := by
 839  unfold m2TransportedOrbitMoment
 840  simp_rw [m2TransportedOrbitSlotCoeff_t21_eq_cert axisTTCross axisTTCrossCoeffZ
 841    classCoeff_axisTTCross_int]
 842  have hsum :
 843      (∑ s : Fin 24, ∑ t : Fin 10,
 844          (m2OrbitCertZ21 axisTTCrossCoeffZ s t : ℝ)) = (-64 : ℝ) := by
 845    simpa [Int.cast_sum] using
 846      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ21_cross
 847  rw [sum_div_const_st, hsum]; norm_num
 848
 849theorem m2TransportedOrbitMoment_t13_cross :
 850    m2TransportedOrbitMoment .t13 axisTTCross symbolDir = (3 / 2 : ℝ) := by
 851  unfold m2TransportedOrbitMoment
 852  simp_rw [m2TransportedOrbitSlotCoeff_t13_eq_cert axisTTCross axisTTCrossCoeffZ
 853    classCoeff_axisTTCross_int]
 854  have hsum :
 855      (∑ s : Fin 24, ∑ t : Fin 10,
 856          (m2OrbitCertZ13 axisTTCrossCoeffZ s t : ℝ)) = (48 : ℝ) := by
 857    simpa [Int.cast_sum] using
 858      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ13_cross
 859  rw [sum_div_const_st, hsum]; norm_num
 860
 861theorem m2TransportedOrbitMoment_t31_cross :
 862    m2TransportedOrbitMoment .t31 axisTTCross symbolDir = (3 / 2 : ℝ) := by
 863  unfold m2TransportedOrbitMoment
 864  simp_rw [m2TransportedOrbitSlotCoeff_t31_eq_cert axisTTCross axisTTCrossCoeffZ
 865    classCoeff_axisTTCross_int]
 866  have hsum :
 867      (∑ s : Fin 24, ∑ t : Fin 10,
 868          (m2OrbitCertZ31 axisTTCrossCoeffZ s t : ℝ)) = (48 : ℝ) := by
 869    simpa [Int.cast_sum] using
 870      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ31_cross
 871  rw [sum_div_const_st, hsum]; norm_num
 872
 873theorem m2TransportedOrbitMoment_t22_cross :
 874    m2TransportedOrbitMoment .t22 axisTTCross symbolDir = (2 : ℝ) := by
 875  unfold m2TransportedOrbitMoment
 876  simp_rw [m2TransportedOrbitSlotCoeff_t22_eq_cert axisTTCross axisTTCrossCoeffZ
 877    classCoeff_axisTTCross_int]
 878  have hsum :
 879      (∑ s : Fin 24, ∑ t : Fin 10,
 880          (m2OrbitCertZ22 axisTTCrossCoeffZ s t : ℝ)) = (64 : ℝ) := by
 881    simpa [Int.cast_sum] using
 882      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ22_cross
 883  rw [sum_div_const_st, hsum]; norm_num
 884
 885/-- Raw all-orbit (unweighted) on cross / symbolDir is `0`
 886(`0-4-1+3/2+3/2+2`), unlike plus `-5/2`. -/
 887theorem m2TransportedAllOrbitMoment_axisTTCross_symbolDir :
 888    m2TransportedAllOrbitMoment axisTTCross symbolDir = (0 : ℝ) := by
 889  unfold m2TransportedAllOrbitMoment
 890  rw [sum_six_orbits]
 891  rw [m2TransportedOrbitMoment_t11_cross, m2TransportedOrbitMoment_t12_cross,
 892    m2TransportedOrbitMoment_t21_cross, m2TransportedOrbitMoment_t13_cross,
 893    m2TransportedOrbitMoment_t31_cross, m2TransportedOrbitMoment_t22_cross]
 894  norm_num
 895
 896/-- Distinct-hinge `1/r_τ` on cross / symbolDir equals frozen EH `-1/4`
 897(`0 + (-4)/4 + (-1)/4 + (3/2)/6 + (3/2)/6 + 2/4`), matching plus. -/
 898theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_symbolDir :
 899    m2TransportedAllOrbitMomentDistinctHinge axisTTCross symbolDir =
 900      (-1 / 4 : ℝ) := by
 901  unfold m2TransportedAllOrbitMomentDistinctHinge
 902  rw [sum_six_orbits]
 903  simp only [orbitStarSize]
 904  rw [m2TransportedOrbitMoment_t11_cross, m2TransportedOrbitMoment_t12_cross,
 905    m2TransportedOrbitMoment_t21_cross, m2TransportedOrbitMoment_t13_cross,
 906    m2TransportedOrbitMoment_t31_cross, m2TransportedOrbitMoment_t22_cross]
 907  norm_num
 908
 909/-- Formerly OPEN; now inhabited by the cross distinct-hinge certificate. -/
 910def M2DistinctHingeAxisTTCrossSymbolDirEvalOpen : Prop :=
 911  m2TransportedAllOrbitMomentDistinctHinge axisTTCross symbolDir =
 912    (-1 / 4 : ℝ)
 913
 914theorem M2DistinctHingeAxisTTCrossSymbolDirEvalOpen_holds :
 915    M2DistinctHingeAxisTTCrossSymbolDirEvalOpen :=
 916  m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_symbolDir
 917
 918theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTCrossNormalized_symbolDir :
 919    m2TransportedAllOrbitMomentDistinctHinge
 920        ((Real.sqrt 2)⁻¹ • axisTTCross) symbolDir =
 921      (-1 / 8 : ℝ) := by
 922  rw [m2TransportedAllOrbitMomentDistinctHinge_smul,
 923    m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_symbolDir,
 924    inv_pow, Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 2)]
 925  norm_num
 926
 927/-- Plus/cross agreement on the Frobenius-normalized distinct-hinge face. -/
 928theorem m2TransportedDistinctHinge_plus_cross_normalized_agree_symbolDir :
 929    m2TransportedAllOrbitMomentDistinctHinge
 930        ((Real.sqrt 2)⁻¹ • axisTTPlus) symbolDir =
 931      m2TransportedAllOrbitMomentDistinctHinge
 932        ((Real.sqrt 2)⁻¹ • axisTTCross) symbolDir := by
 933  rw [m2TransportedAllOrbitMomentDistinctHinge_axisTTPlusNormalized_symbolDir,
 934    m2TransportedAllOrbitMomentDistinctHinge_axisTTCrossNormalized_symbolDir]
 935
 936/-! ## §11. Axis-aligned ray `e0Dir = (1,0,0,0)`
 937
 938Integer phase scaffolding for the lattice axis.  Distinct-hinge moments
 939(THEOREM below): plus `0`, cross `-1/8`.  Continuum EH needs every
 940nonzero mode; this axis anisotropy is recorded as
 941`Regge4DContinuumIsotropyBlockedOnAxisMode` (OPEN, status false).
 942Geometric cause (MEASURED reading): TT support of plus/cross lives in
 943the bit-2/3 plane (`classCoeff` = `D₂−D₃` / `2 D₂ D₃`), while
 944`phaseScaleDir e0Dir` only sees coordinate 0, so the transported
 945cover does not mix the TT plane into the axis phase the way
 946`symbolDir = (1,1,0,0)` does.
 947-/
 948
 949def e0Dir : Fin 4 → ℝ
 950  | 0 => 1
 951  | _ => 0
 952
 953/-- Integer double-phase along `e0Dir`. -/
 954def phase2NatE0 (s : Fin 24) (t : Fin 10) (d : Fin 15) : ℕ :=
 955  2 * (if Nat.testBit (triangleVertexMasks s t).1 0 then 1 else 0) +
 956    (if classBit d 0 then 1 else 0)
 957
 958theorem phaseScaleDir_e0Dir (s : Fin 24) (t : Fin 10) (d : Fin 15) :
 959    phaseScaleDir e0Dir (hingeBase s t) d = (phase2NatE0 s t d : ℝ) / 2 := by
 960  unfold phaseScaleDir phase2NatE0 hingeBase maskCoord classDisp e0Dir
 961  simp only [Fin.sum_univ_four]
 962  by_cases h0 : Nat.testBit (triangleVertexMasks s t).1 0
 963  · by_cases d0 : classBit d 0 <;> simp [h0, d0] <;> ring
 964  · by_cases d0 : classBit d 0 <;> simp [h0, d0] <;> ring
 965
 966theorem e0Dir_normSq :
 967    (∑ i : Fin 4, e0Dir i * e0Dir i) = (1 : ℝ) := by
 968  simp [e0Dir, Fin.sum_univ_four]
 969
 970def slotKppOrbitE0 (sign : Fin 15 → ℤ) (cz : Fin 15 → ℤ)
 971    (ty : HingeOrbitType) (s : Fin 24) (t : Fin 10) : ℤ :=
 972  ∑ d0 : Fin 15,
 973    sign d0 * cz (permClass (orbitCoveringPerm ty s t) d0) *
 974      ((phase2NatE0 s t (permClass (orbitCoveringPerm ty s t) d0) : ℕ) : ℤ) ^ 2
 975
 976def m2OrbitCertZ12E0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 977  if isOrbit .t12 s t then -slotAZ12 cz s t * slotKppOrbitE0 kernel12Sign cz .t12 s t
 978  else 0
 979
 980def m2OrbitCertZ21E0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 981  if isOrbit .t21 s t then -slotAZ21 cz s t * slotKppOrbitE0 kernel12Sign cz .t21 s t
 982  else 0
 983
 984def m2OrbitCertZ13E0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 985  if isOrbit .t13 s t then -slotAZ13 cz s t * slotKppOrbitE0 kernel13Sign cz .t13 s t
 986  else 0
 987
 988def m2OrbitCertZ31E0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 989  if isOrbit .t31 s t then -slotAZ31 cz s t * slotKppOrbitE0 kernel13Sign cz .t31 s t
 990  else 0
 991
 992def m2OrbitCertZ22E0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 993  if isOrbit .t22 s t then -slotAZ22 cz s t * slotKppOrbitE0 kernel22Sign cz .t22 s t
 994  else 0
 995
 996def slotKppZE0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
 997  ∑ d0 : Fin 15,
 998    kernel11Sign d0 * cz (permClass (slotTransportPerm s t) d0) *
 999      ((phase2NatE0 s t (permClass (slotTransportPerm s t) d0) : ℕ) : ℤ) ^ 2
1000
1001def m2SlotCertZE0 (cz : Fin 15 → ℤ) (s : Fin 24) (t : Fin 10) : ℤ :=
1002  if isT11 s t then -slotA0Z4 cz s t * slotKppZE0 cz s t else 0
1003
1004private lemma ker_push_sqrt2_half_e0 (cz : Fin 15 → ℤ) (p : Fin 24)
1005    (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
1006    (s : Fin 24) (t : Fin 10) :
1007    (∑ d0 : Fin 15,
1008        ReggeHinge4DStarKernel12.fullStarClassKernel d0 *
1009          classCoeff H (permClass p d0) *
1010            (phaseScaleDir e0Dir (hingeBase s t) (permClass p d0)) ^ 2) =
1011      Real.sqrt 2 *
1012        (∑ d0 : Fin 15,
1013            kernel12Sign d0 * cz (permClass p d0) *
1014              ((phase2NatE0 s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 8 := by
1015  simp_rw [kernel12_eq_sign, hH, phaseScaleDir_e0Dir]
1016  calc
1017    (∑ d0 : Fin 15,
1018        ((kernel12Sign d0 : ℝ) * (Real.sqrt 2 / 2)) *
1019          (cz (permClass p d0) : ℝ) *
1020            (((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
1021        Real.sqrt 2 / 8 *
1022          ∑ d0 : Fin 15,
1023            (kernel12Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
1024              ((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) ^ 2 := by
1025      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
1026      refine Finset.sum_congr rfl fun d0 _ => by ring
1027    _ = Real.sqrt 2 *
1028          (∑ d0 : Fin 15,
1029              kernel12Sign d0 * cz (permClass p d0) *
1030                ((phase2NatE0 s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 8 := by
1031      rw [Int.cast_sum]
1032      push_cast; ring
1033
1034private lemma ker_push_sqrt3_e0 (cz : Fin 15 → ℤ) (p : Fin 24)
1035    (H : Mat4) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
1036    (s : Fin 24) (t : Fin 10) :
1037    (∑ d0 : Fin 15,
1038        ReggeHinge4DStarKernel13.fullStarClassKernel d0 *
1039          classCoeff H (permClass p d0) *
1040            (phaseScaleDir e0Dir (hingeBase s t) (permClass p d0)) ^ 2) =
1041      Real.sqrt 3 *
1042        (∑ d0 : Fin 15,
1043            kernel13Sign d0 * cz (permClass p d0) *
1044              ((phase2NatE0 s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
1045  simp_rw [kernel13_eq_sign, hH, phaseScaleDir_e0Dir]
1046  calc
1047    (∑ d0 : Fin 15,
1048        ((kernel13Sign d0 : ℝ) * Real.sqrt 3) *
1049          (cz (permClass p d0) : ℝ) *
1050            (((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
1051        Real.sqrt 3 / 4 *
1052          ∑ d0 : Fin 15,
1053            (kernel13Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
1054              ((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) ^ 2 := by
1055      refine Eq.trans ?_ (Finset.mul_sum _ _ _).symm
1056      refine Finset.sum_congr rfl fun d0 _ => by ring
1057    _ = Real.sqrt 3 *
1058          (∑ d0 : Fin 15,
1059              kernel13Sign d0 * cz (permClass p d0) *
1060                ((phase2NatE0 s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
1061      rw [Int.cast_sum]
1062      push_cast; ring
1063
1064theorem m2TransportedOrbitSlotCoeff_t12_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1065    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1066    m2TransportedOrbitSlotCoeff .t12 H e0Dir s t =
1067      (m2OrbitCertZ12E0 cz s t : ℝ) / 64 := by
1068  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1069    m2OrbitCertZ12E0
1070  by_cases ht : isOrbit .t12 s t
1071  · simp only [ht, ite_true]
1072    set p := orbitCoveringPerm .t12 s t with hp
1073    have hA :
1074        (∑ d : Fin 15, slotOrbitAreaCov .t12 s t d * classCoeff H d) =
1075          Real.sqrt 2 * (slotAZ12 cz s t : ℝ) / 8 := by
1076      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
1077      rw [sum_mul_pushforward, ← hp]
1078      simpa [slotAZ12, hp] using
1079        area_push_sqrt2 area12Z cz p H hH areaCov12 areaCov12_eq_z
1080    have hK :
1081        (∑ d : Fin 15,
1082            slotOrbitDeficitKer .t12 s t d * classCoeff H d *
1083              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1084          Real.sqrt 2 * (slotKppOrbitE0 kernel12Sign cz .t12 s t : ℝ) / 8 := by
1085      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
1086      rw [sum_mul_pushforward_weighted, ← hp]
1087      simpa [slotKppOrbitE0, hp] using ker_push_sqrt2_half_e0 cz p H hH s t
1088    rw [hA, hK]
1089    exact radical2_slot_arith (slotAZ12 cz s t)
1090      (slotKppOrbitE0 kernel12Sign cz .t12 s t)
1091  · simp [ht]
1092
1093theorem m2TransportedOrbitSlotCoeff_t21_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1094    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1095    m2TransportedOrbitSlotCoeff .t21 H e0Dir s t =
1096      (m2OrbitCertZ21E0 cz s t : ℝ) / 64 := by
1097  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1098    m2OrbitCertZ21E0
1099  by_cases ht : isOrbit .t21 s t
1100  · simp only [ht, ite_true]
1101    set p := orbitCoveringPerm .t21 s t with hp
1102    have hA :
1103        (∑ d : Fin 15, slotOrbitAreaCov .t21 s t d * classCoeff H d) =
1104          Real.sqrt 2 * (slotAZ21 cz s t : ℝ) / 8 := by
1105      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
1106      rw [sum_mul_pushforward, ← hp]
1107      simpa [slotAZ21, hp] using
1108        area_push_sqrt2 area21Z cz p H hH areaCov21 areaCov21_eq_z
1109    have hK :
1110        (∑ d : Fin 15,
1111            slotOrbitDeficitKer .t21 s t d * classCoeff H d *
1112              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1113          Real.sqrt 2 * (slotKppOrbitE0 kernel12Sign cz .t21 s t : ℝ) / 8 := by
1114      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel,
1115        kernel21]
1116      rw [sum_mul_pushforward_weighted, ← hp]
1117      simpa [slotKppOrbitE0, hp] using ker_push_sqrt2_half_e0 cz p H hH s t
1118    rw [hA, hK]
1119    exact radical2_slot_arith (slotAZ21 cz s t)
1120      (slotKppOrbitE0 kernel12Sign cz .t21 s t)
1121  · simp [ht]
1122
1123theorem m2TransportedOrbitSlotCoeff_t13_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1124    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1125    m2TransportedOrbitSlotCoeff .t13 H e0Dir s t =
1126      (m2OrbitCertZ13E0 cz s t : ℝ) / 32 := by
1127  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1128    m2OrbitCertZ13E0
1129  by_cases ht : isOrbit .t13 s t
1130  · simp only [ht, ite_true]
1131    set p := orbitCoveringPerm .t13 s t with hp
1132    have hA :
1133        (∑ d : Fin 15, slotOrbitAreaCov .t13 s t d * classCoeff H d) =
1134          Real.sqrt 3 * (slotAZ13 cz s t : ℝ) / 12 := by
1135      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
1136      rw [sum_mul_pushforward, ← hp]
1137      simpa [slotAZ13, hp] using
1138        area_push_sqrt3 area13Z cz p H hH areaCov13 areaCov13_eq_z
1139    have hK :
1140        (∑ d : Fin 15,
1141            slotOrbitDeficitKer .t13 s t d * classCoeff H d *
1142              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1143          Real.sqrt 3 * (slotKppOrbitE0 kernel13Sign cz .t13 s t : ℝ) / 4 := by
1144      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
1145      rw [sum_mul_pushforward_weighted, ← hp]
1146      simpa [slotKppOrbitE0, hp] using ker_push_sqrt3_e0 cz p H hH s t
1147    rw [hA, hK]
1148    exact radical3_slot_arith (slotAZ13 cz s t)
1149      (slotKppOrbitE0 kernel13Sign cz .t13 s t)
1150  · simp [ht]
1151
1152theorem m2TransportedOrbitSlotCoeff_t31_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1153    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1154    m2TransportedOrbitSlotCoeff .t31 H e0Dir s t =
1155      (m2OrbitCertZ31E0 cz s t : ℝ) / 32 := by
1156  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1157    m2OrbitCertZ31E0
1158  by_cases ht : isOrbit .t31 s t
1159  · simp only [ht, ite_true]
1160    set p := orbitCoveringPerm .t31 s t with hp
1161    have hA :
1162        (∑ d : Fin 15, slotOrbitAreaCov .t31 s t d * classCoeff H d) =
1163          Real.sqrt 3 * (slotAZ31 cz s t : ℝ) / 12 := by
1164      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
1165      rw [sum_mul_pushforward, ← hp]
1166      simpa [slotAZ31, hp] using
1167        area_push_sqrt3 area31Z cz p H hH areaCov31 areaCov31_eq_z
1168    have hK :
1169        (∑ d : Fin 15,
1170            slotOrbitDeficitKer .t31 s t d * classCoeff H d *
1171              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1172          Real.sqrt 3 * (slotKppOrbitE0 kernel13Sign cz .t31 s t : ℝ) / 4 := by
1173      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel,
1174        kernel31]
1175      rw [sum_mul_pushforward_weighted, ← hp]
1176      simpa [slotKppOrbitE0, hp] using ker_push_sqrt3_e0 cz p H hH s t
1177    rw [hA, hK]
1178    exact radical3_slot_arith (slotAZ31 cz s t)
1179      (slotKppOrbitE0 kernel13Sign cz .t31 s t)
1180  · simp [ht]
1181
1182theorem m2TransportedOrbitSlotCoeff_t22_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1183    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1184    m2TransportedOrbitSlotCoeff .t22 H e0Dir s t =
1185      (m2OrbitCertZ22E0 cz s t : ℝ) / 32 := by
1186  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1187    m2OrbitCertZ22E0
1188  by_cases ht : isOrbit .t22 s t
1189  · simp only [ht, ite_true]
1190    set p := orbitCoveringPerm .t22 s t with hp
1191    have hA :
1192        (∑ d : Fin 15, slotOrbitAreaCov .t22 s t d * classCoeff H d) =
1193          (slotAZ22 cz s t : ℝ) / 4 := by
1194      simp only [slotOrbitAreaCov, transportedOrbitArea, orbitAreaCov]
1195      rw [sum_mul_pushforward, ← hp]
1196      unfold slotAZ22
1197      simp_rw [areaCov22_eq_z, hH]
1198      calc
1199        (∑ d0 : Fin 15,
1200            (area22Z d0 : ℝ) / 4 * (cz (permClass p d0) : ℝ)) =
1201            (∑ d0 : Fin 15, (area22Z d0 : ℝ) * (cz (permClass p d0) : ℝ)) /
1202              4 := by
1203          rw [Finset.sum_div]
1204          refine Finset.sum_congr rfl fun d0 _ => by ring
1205        _ = (∑ d0 : Fin 15, area22Z d0 * cz (permClass p d0) : ℤ) / 4 := by
1206          rw [Int.cast_sum]; push_cast; rfl
1207    have hK :
1208        (∑ d : Fin 15,
1209            slotOrbitDeficitKer .t22 s t d * classCoeff H d *
1210              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1211          (slotKppOrbitE0 kernel22Sign cz .t22 s t : ℝ) / 4 := by
1212      simp only [slotOrbitDeficitKer, transportedOrbitDeficit, orbitSeedKernel]
1213      rw [sum_mul_pushforward_weighted, ← hp]
1214      unfold slotKppOrbitE0
1215      simp_rw [kernel22_eq_sign, hH, phaseScaleDir_e0Dir]
1216      calc
1217        (∑ d0 : Fin 15,
1218            (kernel22Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
1219              (((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) / 2) ^ 2) =
1220            (∑ d0 : Fin 15,
1221                (kernel22Sign d0 : ℝ) * (cz (permClass p d0) : ℝ) *
1222                  ((phase2NatE0 s t (permClass p d0) : ℕ) : ℝ) ^ 2) / 4 := by
1223          rw [Finset.sum_div]
1224          refine Finset.sum_congr rfl fun d0 _ => by ring
1225        _ = (∑ d0 : Fin 15,
1226                kernel22Sign d0 * cz (permClass p d0) *
1227                  ((phase2NatE0 s t (permClass p d0) : ℕ) : ℤ) ^ 2 : ℤ) / 4 := by
1228          rw [Int.cast_sum]; push_cast; rfl
1229    rw [hA, hK]
1230    push_cast; ring
1231  · simp [ht]
1232
1233theorem m2TransportedOrbitSlotCoeff_t11_eq_cert_e0 (H : Mat4) (cz : Fin 15 → ℤ)
1234    (hH : ∀ d, classCoeff H d = (cz d : ℝ)) (s : Fin 24) (t : Fin 10) :
1235    m2TransportedOrbitSlotCoeff .t11 H e0Dir s t =
1236      (m2SlotCertZE0 cz s t : ℝ) / 32 := by
1237  unfold m2TransportedOrbitSlotCoeff m2TransportedOrbitSlotCoeffTrunc
1238    m2SlotCertZE0
1239  by_cases h : isOrbit .t11 s t
1240  · have ht : isT11 s t := (isOrbit_t11_iff_isT11 s t).mp h
1241    simp only [h, ht, ite_true]
1242    have hA :
1243        (∑ d : Fin 15, slotOrbitAreaCov .t11 s t d * classCoeff H d) =
1244          (slotA0Z4 cz s t : ℝ) / 4 := by
1245      simp only [slotOrbitAreaCov_t11 s t ht]
1246      unfold slotA0Z4
1247      have hcast : ∀ d : Fin 15,
1248          slotAreaCov s t d = ((slotAreaCovZ4 s t d : ℤ) : ℝ) / 4 := by
1249        intro d
1250        unfold slotAreaCov slotAreaCovZ4
1251        split_ifs <;> norm_num
1252      rw [Int.cast_sum, Finset.sum_div]
1253      refine Finset.sum_congr rfl fun d _ => ?_
1254      rw [hcast, hH]; push_cast; ring
1255    have hK :
1256        (∑ d : Fin 15,
1257            slotOrbitDeficitKer .t11 s t d * classCoeff H d *
1258              (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1259          (slotKppZE0 cz s t : ℝ) / 4 := by
1260      simp only [slotOrbitDeficitKer_t11]
1261      have hre :
1262          (∑ d : Fin 15,
1263              slotDeficitKer s t d * classCoeff H d *
1264                (phaseScaleDir e0Dir (hingeBase s t) d) ^ 2) =
1265            ∑ d0 : Fin 15,
1266              ReggeHinge4DStarKernel.fullStarClassKernel d0 *
1267                classCoeff H (permClass (slotTransportPerm s t) d0) *
1268                  (phaseScaleDir e0Dir (hingeBase s t)
1269                    (permClass (slotTransportPerm s t) d0)) ^ 2 := by
1270        unfold slotDeficitKer transportedDeficit
1271        simp_rw [Finset.sum_mul]
1272        rw [Finset.sum_comm]
1273        refine Finset.sum_congr rfl fun d0 _ => ?_
1274        classical
1275        rw [Finset.sum_eq_single (permClass (slotTransportPerm s t) d0)]
1276        · simp
1277        · intro d _ hd
1278          have : permClass (slotTransportPerm s t) d0 ≠ d := by
1279            intro heq; exact hd heq.symm
1280          simp [this]
1281        · intro huniv; exact (huniv (Finset.mem_univ _)).elim
1282      rw [hre]
1283      unfold slotKppZE0
1284      simp_rw [kernel11_eq_sign, hH, phaseScaleDir_e0Dir]
1285      rw [Int.cast_sum, Finset.sum_div]
1286      refine Finset.sum_congr rfl fun d0 _ => ?_
1287      push_cast; ring
1288    rw [hA, hK]; push_cast; ring
1289  · have ht : ¬ isT11 s t := fun ht =>
1290      h ((isOrbit_t11_iff_isT11 s t).mpr ht)
1291    simp [h, ht]
1292
1293/-! ### Integer sums on `e0Dir` (probe-confirmed targets) -/
1294
1295set_option maxRecDepth 12000 in
1296set_option maxHeartbeats 8000000 in
1297theorem sum_m2SlotCertZE0_plus :
1298    (∑ s : Fin 24, ∑ t : Fin 10, m2SlotCertZE0 axisTTPlusCoeffZ s t) =
1299      (0 : ℤ) := by
1300  decide
1301
1302set_option maxRecDepth 12000 in
1303set_option maxHeartbeats 8000000 in
1304theorem sum_m2OrbitCertZ12E0_plus :
1305    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ12E0 axisTTPlusCoeffZ s t) =
1306      (0 : ℤ) := by
1307  decide
1308
1309set_option maxRecDepth 12000 in
1310set_option maxHeartbeats 8000000 in
1311theorem sum_m2OrbitCertZ21E0_plus :
1312    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ21E0 axisTTPlusCoeffZ s t) =
1313      (0 : ℤ) := by
1314  decide
1315
1316set_option maxRecDepth 12000 in
1317set_option maxHeartbeats 8000000 in
1318theorem sum_m2OrbitCertZ13E0_plus :
1319    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ13E0 axisTTPlusCoeffZ s t) =
1320      (0 : ℤ) := by
1321  decide
1322
1323set_option maxRecDepth 12000 in
1324set_option maxHeartbeats 8000000 in
1325theorem sum_m2OrbitCertZ31E0_plus :
1326    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ31E0 axisTTPlusCoeffZ s t) =
1327      (0 : ℤ) := by
1328  decide
1329
1330set_option maxRecDepth 12000 in
1331set_option maxHeartbeats 8000000 in
1332theorem sum_m2OrbitCertZ22E0_plus :
1333    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ22E0 axisTTPlusCoeffZ s t) =
1334      (0 : ℤ) := by
1335  decide
1336
1337set_option maxRecDepth 12000 in
1338set_option maxHeartbeats 8000000 in
1339theorem sum_m2SlotCertZE0_cross :
1340    (∑ s : Fin 24, ∑ t : Fin 10, m2SlotCertZE0 axisTTCrossCoeffZ s t) =
1341      (0 : ℤ) := by
1342  decide
1343
1344set_option maxRecDepth 12000 in
1345set_option maxHeartbeats 8000000 in
1346theorem sum_m2OrbitCertZ12E0_cross :
1347    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ12E0 axisTTCrossCoeffZ s t) =
1348      (-96 : ℤ) := by
1349  decide
1350
1351set_option maxRecDepth 12000 in
1352set_option maxHeartbeats 8000000 in
1353theorem sum_m2OrbitCertZ21E0_cross :
1354    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ21E0 axisTTCrossCoeffZ s t) =
1355      (0 : ℤ) := by
1356  decide
1357
1358set_option maxRecDepth 12000 in
1359set_option maxHeartbeats 8000000 in
1360theorem sum_m2OrbitCertZ13E0_cross :
1361    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ13E0 axisTTCrossCoeffZ s t) =
1362      (24 : ℤ) := by
1363  decide
1364
1365set_option maxRecDepth 12000 in
1366set_option maxHeartbeats 8000000 in
1367theorem sum_m2OrbitCertZ31E0_cross :
1368    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ31E0 axisTTCrossCoeffZ s t) =
1369      (24 : ℤ) := by
1370  decide
1371
1372set_option maxRecDepth 12000 in
1373set_option maxHeartbeats 8000000 in
1374theorem sum_m2OrbitCertZ22E0_cross :
1375    (∑ s : Fin 24, ∑ t : Fin 10, m2OrbitCertZ22E0 axisTTCrossCoeffZ s t) =
1376      (0 : ℤ) := by
1377  decide
1378
1379/-! ### Real moments on `e0Dir` -/
1380
1381theorem m2TransportedOrbitMoment_t11_plus_e0 :
1382    m2TransportedOrbitMoment .t11 axisTTPlus e0Dir = (0 : ℝ) := by
1383  unfold m2TransportedOrbitMoment
1384  simp_rw [m2TransportedOrbitSlotCoeff_t11_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1385    classCoeff_axisTTPlus_int]
1386  have hsum :
1387      (∑ s : Fin 24, ∑ t : Fin 10,
1388          (m2SlotCertZE0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1389    simpa [Int.cast_sum] using
1390      congrArg (fun n : ℤ => (n : ℝ)) sum_m2SlotCertZE0_plus
1391  rw [sum_div_const_st, hsum]; norm_num
1392
1393theorem m2TransportedOrbitMoment_t12_plus_e0 :
1394    m2TransportedOrbitMoment .t12 axisTTPlus e0Dir = (0 : ℝ) := by
1395  unfold m2TransportedOrbitMoment
1396  simp_rw [m2TransportedOrbitSlotCoeff_t12_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1397    classCoeff_axisTTPlus_int]
1398  have hsum :
1399      (∑ s : Fin 24, ∑ t : Fin 10,
1400          (m2OrbitCertZ12E0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1401    simpa [Int.cast_sum] using
1402      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ12E0_plus
1403  rw [sum_div_const_st, hsum]; norm_num
1404
1405theorem m2TransportedOrbitMoment_t21_plus_e0 :
1406    m2TransportedOrbitMoment .t21 axisTTPlus e0Dir = (0 : ℝ) := by
1407  unfold m2TransportedOrbitMoment
1408  simp_rw [m2TransportedOrbitSlotCoeff_t21_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1409    classCoeff_axisTTPlus_int]
1410  have hsum :
1411      (∑ s : Fin 24, ∑ t : Fin 10,
1412          (m2OrbitCertZ21E0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1413    simpa [Int.cast_sum] using
1414      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ21E0_plus
1415  rw [sum_div_const_st, hsum]; norm_num
1416
1417theorem m2TransportedOrbitMoment_t13_plus_e0 :
1418    m2TransportedOrbitMoment .t13 axisTTPlus e0Dir = (0 : ℝ) := by
1419  unfold m2TransportedOrbitMoment
1420  simp_rw [m2TransportedOrbitSlotCoeff_t13_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1421    classCoeff_axisTTPlus_int]
1422  have hsum :
1423      (∑ s : Fin 24, ∑ t : Fin 10,
1424          (m2OrbitCertZ13E0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1425    simpa [Int.cast_sum] using
1426      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ13E0_plus
1427  rw [sum_div_const_st, hsum]; norm_num
1428
1429theorem m2TransportedOrbitMoment_t31_plus_e0 :
1430    m2TransportedOrbitMoment .t31 axisTTPlus e0Dir = (0 : ℝ) := by
1431  unfold m2TransportedOrbitMoment
1432  simp_rw [m2TransportedOrbitSlotCoeff_t31_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1433    classCoeff_axisTTPlus_int]
1434  have hsum :
1435      (∑ s : Fin 24, ∑ t : Fin 10,
1436          (m2OrbitCertZ31E0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1437    simpa [Int.cast_sum] using
1438      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ31E0_plus
1439  rw [sum_div_const_st, hsum]; norm_num
1440
1441theorem m2TransportedOrbitMoment_t22_plus_e0 :
1442    m2TransportedOrbitMoment .t22 axisTTPlus e0Dir = (0 : ℝ) := by
1443  unfold m2TransportedOrbitMoment
1444  simp_rw [m2TransportedOrbitSlotCoeff_t22_eq_cert_e0 axisTTPlus axisTTPlusCoeffZ
1445    classCoeff_axisTTPlus_int]
1446  have hsum :
1447      (∑ s : Fin 24, ∑ t : Fin 10,
1448          (m2OrbitCertZ22E0 axisTTPlusCoeffZ s t : ℝ)) = (0 : ℝ) := by
1449    simpa [Int.cast_sum] using
1450      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ22E0_plus
1451  rw [sum_div_const_st, hsum]; norm_num
1452
1453theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_e0Dir :
1454    m2TransportedAllOrbitMomentDistinctHinge axisTTPlus e0Dir = (0 : ℝ) := by
1455  unfold m2TransportedAllOrbitMomentDistinctHinge
1456  rw [sum_six_orbits]
1457  simp only [orbitStarSize]
1458  rw [m2TransportedOrbitMoment_t11_plus_e0, m2TransportedOrbitMoment_t12_plus_e0,
1459    m2TransportedOrbitMoment_t21_plus_e0, m2TransportedOrbitMoment_t13_plus_e0,
1460    m2TransportedOrbitMoment_t31_plus_e0, m2TransportedOrbitMoment_t22_plus_e0]
1461  norm_num
1462
1463theorem m2TransportedOrbitMoment_t11_cross_e0 :
1464    m2TransportedOrbitMoment .t11 axisTTCross e0Dir = (0 : ℝ) := by
1465  unfold m2TransportedOrbitMoment
1466  simp_rw [m2TransportedOrbitSlotCoeff_t11_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1467    classCoeff_axisTTCross_int]
1468  have hsum :
1469      (∑ s : Fin 24, ∑ t : Fin 10,
1470          (m2SlotCertZE0 axisTTCrossCoeffZ s t : ℝ)) = (0 : ℝ) := by
1471    simpa [Int.cast_sum] using
1472      congrArg (fun n : ℤ => (n : ℝ)) sum_m2SlotCertZE0_cross
1473  rw [sum_div_const_st, hsum]; norm_num
1474
1475theorem m2TransportedOrbitMoment_t12_cross_e0 :
1476    m2TransportedOrbitMoment .t12 axisTTCross e0Dir = (-3 / 2 : ℝ) := by
1477  unfold m2TransportedOrbitMoment
1478  simp_rw [m2TransportedOrbitSlotCoeff_t12_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1479    classCoeff_axisTTCross_int]
1480  have hsum :
1481      (∑ s : Fin 24, ∑ t : Fin 10,
1482          (m2OrbitCertZ12E0 axisTTCrossCoeffZ s t : ℝ)) = (-96 : ℝ) := by
1483    simpa [Int.cast_sum] using
1484      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ12E0_cross
1485  rw [sum_div_const_st, hsum]; norm_num
1486
1487theorem m2TransportedOrbitMoment_t21_cross_e0 :
1488    m2TransportedOrbitMoment .t21 axisTTCross e0Dir = (0 : ℝ) := by
1489  unfold m2TransportedOrbitMoment
1490  simp_rw [m2TransportedOrbitSlotCoeff_t21_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1491    classCoeff_axisTTCross_int]
1492  have hsum :
1493      (∑ s : Fin 24, ∑ t : Fin 10,
1494          (m2OrbitCertZ21E0 axisTTCrossCoeffZ s t : ℝ)) = (0 : ℝ) := by
1495    simpa [Int.cast_sum] using
1496      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ21E0_cross
1497  rw [sum_div_const_st, hsum]; norm_num
1498
1499theorem m2TransportedOrbitMoment_t13_cross_e0 :
1500    m2TransportedOrbitMoment .t13 axisTTCross e0Dir = (3 / 4 : ℝ) := by
1501  unfold m2TransportedOrbitMoment
1502  simp_rw [m2TransportedOrbitSlotCoeff_t13_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1503    classCoeff_axisTTCross_int]
1504  have hsum :
1505      (∑ s : Fin 24, ∑ t : Fin 10,
1506          (m2OrbitCertZ13E0 axisTTCrossCoeffZ s t : ℝ)) = (24 : ℝ) := by
1507    simpa [Int.cast_sum] using
1508      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ13E0_cross
1509  rw [sum_div_const_st, hsum]; norm_num
1510
1511theorem m2TransportedOrbitMoment_t31_cross_e0 :
1512    m2TransportedOrbitMoment .t31 axisTTCross e0Dir = (3 / 4 : ℝ) := by
1513  unfold m2TransportedOrbitMoment
1514  simp_rw [m2TransportedOrbitSlotCoeff_t31_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1515    classCoeff_axisTTCross_int]
1516  have hsum :
1517      (∑ s : Fin 24, ∑ t : Fin 10,
1518          (m2OrbitCertZ31E0 axisTTCrossCoeffZ s t : ℝ)) = (24 : ℝ) := by
1519    simpa [Int.cast_sum] using
1520      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ31E0_cross
1521  rw [sum_div_const_st, hsum]; norm_num
1522
1523theorem m2TransportedOrbitMoment_t22_cross_e0 :
1524    m2TransportedOrbitMoment .t22 axisTTCross e0Dir = (0 : ℝ) := by
1525  unfold m2TransportedOrbitMoment
1526  simp_rw [m2TransportedOrbitSlotCoeff_t22_eq_cert_e0 axisTTCross axisTTCrossCoeffZ
1527    classCoeff_axisTTCross_int]
1528  have hsum :
1529      (∑ s : Fin 24, ∑ t : Fin 10,
1530          (m2OrbitCertZ22E0 axisTTCrossCoeffZ s t : ℝ)) = (0 : ℝ) := by
1531    simpa [Int.cast_sum] using
1532      congrArg (fun n : ℤ => (n : ℝ)) sum_m2OrbitCertZ22E0_cross
1533  rw [sum_div_const_st, hsum]; norm_num
1534
1535/-- Distinct-hinge on cross / e0Dir: `(-3/2)/4 + (3/4)/6 + (3/4)/6 = -1/8`. -/
1536theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_e0Dir :
1537    m2TransportedAllOrbitMomentDistinctHinge axisTTCross e0Dir =
1538      (-1 / 8 : ℝ) := by
1539  unfold m2TransportedAllOrbitMomentDistinctHinge
1540  rw [sum_six_orbits]
1541  simp only [orbitStarSize]
1542  rw [m2TransportedOrbitMoment_t11_cross_e0, m2TransportedOrbitMoment_t12_cross_e0,
1543    m2TransportedOrbitMoment_t21_cross_e0, m2TransportedOrbitMoment_t13_cross_e0,
1544    m2TransportedOrbitMoment_t31_cross_e0, m2TransportedOrbitMoment_t22_cross_e0]
1545  norm_num
1546
1547theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTPlusNormalized_e0Dir :
1548    m2TransportedAllOrbitMomentDistinctHinge
1549        ((Real.sqrt 2)⁻¹ • axisTTPlus) e0Dir = (0 : ℝ) := by
1550  rw [m2TransportedAllOrbitMomentDistinctHinge_smul,
1551    m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_e0Dir]
1552  norm_num
1553
1554theorem m2TransportedAllOrbitMomentDistinctHinge_axisTTCrossNormalized_e0Dir :
1555    m2TransportedAllOrbitMomentDistinctHinge
1556        ((Real.sqrt 2)⁻¹ • axisTTCross) e0Dir =
1557      (-1 / 16 : ℝ) := by
1558  rw [m2TransportedAllOrbitMomentDistinctHinge_smul,
1559    m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_e0Dir,
1560    inv_pow, Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 2)]
1561  norm_num
1562
1563/-- **OPEN (status false)**: continuum TT isotropy is blocked on the bare
1564lattice-axis mode `e0Dir`, where plus vanishes and cross gives `-1/8`
1565(normalized `-1/16`).  Not hidden: EH Tendsto needs every nonzero mode. -/
1566def Regge4DContinuumIsotropyBlockedOnAxisMode : Prop :=
1567  m2TransportedAllOrbitMomentDistinctHinge axisTTPlus e0Dir =
1568    m2TransportedAllOrbitMomentDistinctHinge axisTTCross e0Dir ∧
1569      m2TransportedAllOrbitMomentDistinctHinge
1570          ((Real.sqrt 2)⁻¹ • axisTTPlus) e0Dir =
1571        (-1 / 16 : ℝ)
1572
1573theorem Regge4DContinuumIsotropyBlockedOnAxisMode_status_false :
1574    ¬ Regge4DContinuumIsotropyBlockedOnAxisMode := by
1575  unfold Regge4DContinuumIsotropyBlockedOnAxisMode
1576  intro h
1577  have hplus := m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_e0Dir
1578  have hcross := m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_e0Dir
1579  have hne : (0 : ℝ) ≠ (-1 / 8 : ℝ) := by norm_num
1580  exact hne (hplus.symm.trans (h.1.trans hcross))
1581
1582theorem axis_mode_plus_cross_disagree_e0Dir :
1583    m2TransportedAllOrbitMomentDistinctHinge axisTTPlus e0Dir ≠
1584      m2TransportedAllOrbitMomentDistinctHinge axisTTCross e0Dir := by
1585  rw [m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_e0Dir,
1586    m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_e0Dir]
1587  norm_num
1588
1589/-! ## §12. Full cosine two-jet `A0*K2 + A2*K0` vs truncated `A0*K2`
1590
1591Integer unphased ker dots vanish for TT plus/cross on every slot
1592(`slotOrbitKerDot_axisTTPlus` / `slotOrbitKerDot_axisTTCross`, via
1593`slotOrbitKerDotZ_*` decide certificates), so the `A2*K0` summand is
1594identically zero and full jet equals the truncated `A0*K2` certificates
1595on every direction.  Consequently e0Dir anisotropy (plus `0`, cross
1596`-1/8`) and plus vanishing are **not** repaired by restoring `A2*K0`.
1597Probe receipts: `scripts/probe_m2_full_twojet_e0.py` and
1598`state/qg_full_theory/probe_fulljet_distinct_hinge_20260721.json`
1599(MEASURED off-axis faces; THEOREM on the banked axisTTPlus/Cross rays).
1600-/
1601
1602/-- Integer unphased transported ker · `cz` (radical factored out). -/
1603def slotOrbitKerDotZ (sign : Fin 15 → ℤ) (cz : Fin 15 → ℤ)
1604    (ty : HingeOrbitType) (s : Fin 24) (t : Fin 10) : ℤ :=
1605  ∑ d0 : Fin 15,
1606    sign d0 * cz (permClass (orbitCoveringPerm ty s t) d0)
1607
1608def slotOrbitKerDotZ_of (ty : HingeOrbitType) (cz : Fin 15 → ℤ)
1609    (s : Fin 24) (t : Fin 10) : ℤ :=
1610  match ty with
1611  | .t11 => slotOrbitKerDotZ kernel11Sign cz .t11 s t
1612  | .t12 => slotOrbitKerDotZ kernel12Sign cz .t12 s t
1613  | .t21 => slotOrbitKerDotZ kernel12Sign cz .t21 s t
1614  | .t13 => slotOrbitKerDotZ kernel13Sign cz .t13 s t
1615  | .t31 => slotOrbitKerDotZ kernel13Sign cz .t31 s t
1616  | .t22 => slotOrbitKerDotZ kernel22Sign cz .t22 s t
1617
1618set_option maxRecDepth 8000 in
1619set_option maxHeartbeats 800000 in
1620theorem slotOrbitKerDotZ_axisTTPlus :
1621    ∀ ty : HingeOrbitType, ∀ s : Fin 24, ∀ t : Fin 10,
1622      slotOrbitKerDotZ_of ty axisTTPlusCoeffZ s t = 0 := by
1623  decide
1624
1625set_option maxRecDepth 8000 in
1626set_option maxHeartbeats 800000 in
1627theorem slotOrbitKerDotZ_axisTTCross :
1628    ∀ ty : HingeOrbitType, ∀ s : Fin 24, ∀ t : Fin 10,
1629      slotOrbitKerDotZ_of ty axisTTCrossCoeffZ s t = 0 := by
1630  decide
1631
1632private lemma slotOrbitKerDot_reindex (ty : HingeOrbitType) (H : Mat4)
1633    (s : Fin 24) (t : Fin 10) :
1634    slotOrbitKerDot ty H s t =
1635      ∑ d0 : Fin 15,
1636        orbitSeedKernel ty d0 *
1637          classCoeff H (permClass (orbitCoveringPerm ty s t) d0) := by
1638  unfold slotOrbitKerDot slotOrbitDeficitKer transportedOrbitDeficit
1639  exact sum_mul_pushforward (orbitSeedKernel ty) (classCoeff H)
1640    (orbitCoveringPerm ty s t)
1641
1642/-- `orbitSeedKernel = sign * α` (matching `kernel*_eq_sign` order). -/
1643private lemma slotOrbitKerDot_eq_z_mul (ty : HingeOrbitType) (H : Mat4)
1644    (cz : Fin 15 → ℤ) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
1645    (s : Fin 24) (t : Fin 10) (α : ℝ) (sign : Fin 15 → ℤ)
1646    (hker : ∀ d0, orbitSeedKernel ty d0 = (sign d0 : ℝ) * α) :
1647    slotOrbitKerDot ty H s t =
1648      α * (slotOrbitKerDotZ sign cz ty s t : ℝ) := by
1649  rw [slotOrbitKerDot_reindex]
1650  simp_rw [hker, hH]
1651  have hterm : ∀ d0 : Fin 15,
1652      (sign d0 : ℝ) * α * (cz (permClass (orbitCoveringPerm ty s t) d0) : ℝ) =
1653        α * ((sign d0 : ℝ) *
1654          (cz (permClass (orbitCoveringPerm ty s t) d0) : ℝ)) := by
1655    intro d0; ring
1656  simp_rw [hterm, ← Finset.mul_sum]
1657  unfold slotOrbitKerDotZ
1658  congr 1
1659  rw [Int.cast_sum]
1660  push_cast
1661  rfl
1662
1663private lemma slotOrbitKerDot_of_z0 (ty : HingeOrbitType) (H : Mat4)
1664    (cz : Fin 15 → ℤ) (hH : ∀ d, classCoeff H d = (cz d : ℝ))
1665    (s : Fin 24) (t : Fin 10) (α : ℝ) (sign : Fin 15 → ℤ)
1666    (hker : ∀ d0, orbitSeedKernel ty d0 = (sign d0 : ℝ) * α)
1667    (hz : slotOrbitKerDotZ sign cz ty s t = 0) :
1668    slotOrbitKerDot ty H s t = 0 := by
1669  rw [slotOrbitKerDot_eq_z_mul ty H cz hH s t α sign hker, hz]
1670  simp
1671
1672theorem slotOrbitKerDot_axisTTPlus (ty : HingeOrbitType) (s : Fin 24)
1673    (t : Fin 10) : slotOrbitKerDot ty axisTTPlus s t = 0 := by
1674  have hz := slotOrbitKerDotZ_axisTTPlus ty s t
1675  cases ty with
1676  | t11 =>
1677      exact slotOrbitKerDot_of_z0 .t11 axisTTPlus axisTTPlusCoeffZ
1678        classCoeff_axisTTPlus_int s t 1 kernel11Sign
1679        (fun d0 => by simpa using kernel11_eq_sign d0)
1680        (by simpa [slotOrbitKerDotZ_of] using hz)
1681  | t12 =>
1682      exact slotOrbitKerDot_of_z0 .t12 axisTTPlus axisTTPlusCoeffZ
1683        classCoeff_axisTTPlus_int s t (Real.sqrt 2 / 2) kernel12Sign
1684        (fun d0 => by simpa [orbitSeedKernel] using kernel12_eq_sign d0)
1685        (by simpa [slotOrbitKerDotZ_of] using hz)
1686  | t21 =>
1687      exact slotOrbitKerDot_of_z0 .t21 axisTTPlus axisTTPlusCoeffZ
1688        classCoeff_axisTTPlus_int s t (Real.sqrt 2 / 2) kernel12Sign
1689        (fun d0 => by simpa [orbitSeedKernel, kernel21] using kernel12_eq_sign d0)
1690        (by simpa [slotOrbitKerDotZ_of] using hz)
1691  | t13 =>
1692      exact slotOrbitKerDot_of_z0 .t13 axisTTPlus axisTTPlusCoeffZ
1693        classCoeff_axisTTPlus_int s t (Real.sqrt 3) kernel13Sign
1694        (fun d0 => by simpa [orbitSeedKernel] using kernel13_eq_sign d0)
1695        (by simpa [slotOrbitKerDotZ_of] using hz)
1696  | t31 =>
1697      exact slotOrbitKerDot_of_z0 .t31 axisTTPlus axisTTPlusCoeffZ
1698        classCoeff_axisTTPlus_int s t (Real.sqrt 3) kernel13Sign
1699        (fun d0 => by simpa [orbitSeedKernel, kernel31] using kernel13_eq_sign d0)
1700        (by simpa [slotOrbitKerDotZ_of] using hz)
1701  | t22 =>
1702      exact slotOrbitKerDot_of_z0 .t22 axisTTPlus axisTTPlusCoeffZ
1703        classCoeff_axisTTPlus_int s t 1 kernel22Sign
1704        (fun d0 => by simpa using kernel22_eq_sign d0)
1705        (by simpa [slotOrbitKerDotZ_of] using hz)
1706
1707theorem slotOrbitKerDot_axisTTCross (ty : HingeOrbitType) (s : Fin 24)
1708    (t : Fin 10) : slotOrbitKerDot ty axisTTCross s t = 0 := by
1709  have hz := slotOrbitKerDotZ_axisTTCross ty s t
1710  cases ty with
1711  | t11 =>
1712      exact slotOrbitKerDot_of_z0 .t11 axisTTCross axisTTCrossCoeffZ
1713        classCoeff_axisTTCross_int s t 1 kernel11Sign
1714        (fun d0 => by simpa using kernel11_eq_sign d0)
1715        (by simpa [slotOrbitKerDotZ_of] using hz)
1716  | t12 =>
1717      exact slotOrbitKerDot_of_z0 .t12 axisTTCross axisTTCrossCoeffZ
1718        classCoeff_axisTTCross_int s t (Real.sqrt 2 / 2) kernel12Sign
1719        (fun d0 => by simpa [orbitSeedKernel] using kernel12_eq_sign d0)
1720        (by simpa [slotOrbitKerDotZ_of] using hz)
1721  | t21 =>
1722      exact slotOrbitKerDot_of_z0 .t21 axisTTCross axisTTCrossCoeffZ
1723        classCoeff_axisTTCross_int s t (Real.sqrt 2 / 2) kernel12Sign
1724        (fun d0 => by simpa [orbitSeedKernel, kernel21] using kernel12_eq_sign d0)
1725        (by simpa [slotOrbitKerDotZ_of] using hz)
1726  | t13 =>
1727      exact slotOrbitKerDot_of_z0 .t13 axisTTCross axisTTCrossCoeffZ
1728        classCoeff_axisTTCross_int s t (Real.sqrt 3) kernel13Sign
1729        (fun d0 => by simpa [orbitSeedKernel] using kernel13_eq_sign d0)
1730        (by simpa [slotOrbitKerDotZ_of] using hz)
1731  | t31 =>
1732      exact slotOrbitKerDot_of_z0 .t31 axisTTCross axisTTCrossCoeffZ
1733        classCoeff_axisTTCross_int s t (Real.sqrt 3) kernel13Sign
1734        (fun d0 => by simpa [orbitSeedKernel, kernel31] using kernel13_eq_sign d0)
1735        (by simpa [slotOrbitKerDotZ_of] using hz)
1736  | t22 =>
1737      exact slotOrbitKerDot_of_z0 .t22 axisTTCross axisTTCrossCoeffZ
1738        classCoeff_axisTTCross_int s t 1 kernel22Sign
1739        (fun d0 => by simpa using kernel22_eq_sign d0)
1740        (by simpa [slotOrbitKerDotZ_of] using hz)
1741
1742theorem m2TransportedOrbitSlotCoeffFull_eq_trunc_axisTTPlus
1743    (ty : HingeOrbitType) (dir : Fin 4 → ℝ) (s : Fin 24) (t : Fin 10) :
1744    m2TransportedOrbitSlotCoeffFull ty axisTTPlus dir s t =
1745      m2TransportedOrbitSlotCoeff ty axisTTPlus dir s t :=
1746  m2TransportedOrbitSlotCoeffFull_eq_trunc_of_ker0 ty axisTTPlus dir s t
1747    (slotOrbitKerDot_axisTTPlus ty s t)
1748
1749theorem m2TransportedOrbitSlotCoeffFull_eq_trunc_axisTTCross
1750    (ty : HingeOrbitType) (dir : Fin 4 → ℝ) (s : Fin 24) (t : Fin 10) :
1751    m2TransportedOrbitSlotCoeffFull ty axisTTCross dir s t =
1752      m2TransportedOrbitSlotCoeff ty axisTTCross dir s t :=
1753  m2TransportedOrbitSlotCoeffFull_eq_trunc_of_ker0 ty axisTTCross dir s t
1754    (slotOrbitKerDot_axisTTCross ty s t)
1755
1756theorem m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTPlus
1757    (dir : Fin 4 → ℝ) :
1758    m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus dir =
1759      m2TransportedAllOrbitMomentDistinctHinge axisTTPlus dir := by
1760  unfold m2TransportedAllOrbitMomentDistinctHingeFull
1761    m2TransportedAllOrbitMomentDistinctHinge m2TransportedOrbitMomentFull
1762    m2TransportedOrbitMoment
1763  refine Finset.sum_congr rfl fun ty _ => ?_
1764  congr 1
1765  refine Finset.sum_congr rfl fun s _ =>
1766    Finset.sum_congr rfl fun t _ =>
1767      m2TransportedOrbitSlotCoeffFull_eq_trunc_axisTTPlus ty dir s t
1768
1769theorem m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTCross
1770    (dir : Fin 4 → ℝ) :
1771    m2TransportedAllOrbitMomentDistinctHingeFull axisTTCross dir =
1772      m2TransportedAllOrbitMomentDistinctHinge axisTTCross dir := by
1773  unfold m2TransportedAllOrbitMomentDistinctHingeFull
1774    m2TransportedAllOrbitMomentDistinctHinge m2TransportedOrbitMomentFull
1775    m2TransportedOrbitMoment
1776  refine Finset.sum_congr rfl fun ty _ => ?_
1777  congr 1
1778  refine Finset.sum_congr rfl fun s _ =>
1779    Finset.sum_congr rfl fun t _ =>
1780      m2TransportedOrbitSlotCoeffFull_eq_trunc_axisTTCross ty dir s t
1781
1782/-- Full two-jet distinct-hinge values on e0Dir: plus `0`, cross `-1/8`
1783(same as truncated; anisotropy persists). -/
1784theorem m2TransportedAllOrbitMomentDistinctHingeFull_axisTTPlus_e0Dir :
1785    m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus e0Dir =
1786      (0 : ℝ) := by
1787  rw [m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTPlus,
1788    m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_e0Dir]
1789
1790theorem m2TransportedAllOrbitMomentDistinctHingeFull_axisTTCross_e0Dir :
1791    m2TransportedAllOrbitMomentDistinctHingeFull axisTTCross e0Dir =
1792      (-1 / 8 : ℝ) := by
1793  rw [m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTCross,
1794    m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_e0Dir]
1795
1796theorem m2TransportedAllOrbitMomentDistinctHingeFull_axisTTPlus_symbolDir :
1797    m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus symbolDir =
1798      (-1 / 4 : ℝ) := by
1799  rw [m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTPlus,
1800    m2TransportedAllOrbitMomentDistinctHinge_axisTTPlus_symbolDir]
1801
1802theorem m2TransportedAllOrbitMomentDistinctHingeFull_axisTTCross_symbolDir :
1803    m2TransportedAllOrbitMomentDistinctHingeFull axisTTCross symbolDir =
1804      (-1 / 4 : ℝ) := by
1805  rw [m2TransportedAllOrbitMomentDistinctHingeFull_eq_trunc_axisTTCross,
1806    m2TransportedAllOrbitMomentDistinctHinge_axisTTCross_symbolDir]
1807
1808/-- Full jet does **not** restore e0Dir plus/cross isotropy. -/
1809theorem full_twojet_does_not_repair_e0_anisotropy :
1810    m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus e0Dir ≠
1811      m2TransportedAllOrbitMomentDistinctHingeFull axisTTCross e0Dir := by
1812  rw [m2TransportedAllOrbitMomentDistinctHingeFull_axisTTPlus_e0Dir,
1813    m2TransportedAllOrbitMomentDistinctHingeFull_axisTTCross_e0Dir]
1814  norm_num
1815
1816/-- Normalized continuum face under full jet on e0: plus `0`, cross `-1/16`
1817(not EH `-1/4`). -/
1818theorem continuumFace_fullTwoJet_normalizedCross_e0Dir :
1819    m2TransportedAllOrbitMomentDistinctHingeFull
1820          ((Real.sqrt 2)⁻¹ • axisTTCross) e0Dir /
1821        (∑ i : Fin 4, e0Dir i * e0Dir i) =
1822      (-1 / 16 : ℝ) := by
1823  rw [m2TransportedAllOrbitMomentDistinctHingeFull_smul,
1824    m2TransportedAllOrbitMomentDistinctHingeFull_axisTTCross_e0Dir,
1825    e0Dir_normSq, inv_pow, Real.sq_sqrt (by norm_num : (0 : ℝ) ≤ 2)]
1826  norm_num
1827
1828/-- Named restoration claim: full two-jet makes `axisTTPlus` on `e0Dir`
1829leave zero.  Status false (plus stays `0` because `A2*K0` vanishes). -/
1830def Regge4DFullTwoJetRestoresE0PlusVanishing : Prop :=
1831  m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus e0Dir ≠ (0 : ℝ)
1832
1833theorem Regge4DFullTwoJetRestoresE0PlusVanishing_status_false :
1834    ¬ Regge4DFullTwoJetRestoresE0PlusVanishing := by
1835  intro h
1836  exact h m2TransportedAllOrbitMomentDistinctHingeFull_axisTTPlus_e0Dir
1837
1838/-- Named restoration claim: full two-jet restores e0Dir plus/cross
1839isotropy.  Status false. -/
1840def Regge4DFullTwoJetRestoresE0Isotropy : Prop :=
1841  m2TransportedAllOrbitMomentDistinctHingeFull axisTTPlus e0Dir =
1842    m2TransportedAllOrbitMomentDistinctHingeFull axisTTCross e0Dir
1843
1844theorem Regge4DFullTwoJetRestoresE0Isotropy_status_false :
1845    ¬ Regge4DFullTwoJetRestoresE0Isotropy :=
1846  full_twojet_does_not_repair_e0_anisotropy
1847
1848structure ReggeBlochFullTwoJetM2Eval4DStatus where
1849  k0VanishesOnTTPlusCross : Bool
1850  fullEqualsTruncOnTT : Bool
1851  e0AnisotropyPersists : Bool
1852  e0PlusVanishingPersists : Bool
1853  gapActionRecovery : Bool
1854
1855def reggeBlochFullTwoJetM2Eval4DStatus :
1856    ReggeBlochFullTwoJetM2Eval4DStatus where
1857  k0VanishesOnTTPlusCross := true
1858  fullEqualsTruncOnTT := true
1859  e0AnisotropyPersists := true
1860  e0PlusVanishingPersists := true
1861  gapActionRecovery := false
1862
1863theorem reggeBlochFullTwoJetM2Eval4DStatus_flags :
1864    reggeBlochFullTwoJetM2Eval4DStatus.k0VanishesOnTTPlusCross = true ∧
1865      reggeBlochFullTwoJetM2Eval4DStatus.fullEqualsTruncOnTT = true ∧
1866        reggeBlochFullTwoJetM2Eval4DStatus.e0AnisotropyPersists = true ∧
1867          reggeBlochFullTwoJetM2Eval4DStatus.e0PlusVanishingPersists =
1868            true ∧
1869            reggeBlochFullTwoJetM2Eval4DStatus.gapActionRecovery =
1870              false := by
1871  decide
1872
1873theorem full_twojet_does_not_flip_gap_action_recovery :
1874    reggeBlochFullTwoJetM2Eval4DStatus.gapActionRecovery = false :=
1875  rfl
1876
1877end
1878
1879end ReggeBlochTransportedAllOrbitM2Eval4D
1880end Analysis
1881end Gravity
1882end IndisputableMonolith
1883

source mirrored from github.com/jonwashburn/shape-of-logic