Pith. sign in

IndisputableMonolith.Gravity.SevenGaps.MeasureSubstrateBlocker

IndisputableMonolith/Gravity/SevenGaps/MeasureSubstrateBlocker.lean · 130 lines · 7 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import IndisputableMonolith.Gravity.SevenGaps.ExactShellGaugePreflight
   2import IndisputableMonolith.Gravity.SevenGaps.MeasureInvarianceNoGo
   3
   4/-!
   5# Path-sum measure: exact substrate blocker
   6
   7## Status: THEOREM
   8
   9`MeasureInvarianceNoGo` proves that relabeling invariance, positivity, and
  10normalization do not select a path-sum measure. `ExactShellGaugePreflight`
  11proves that the gauge-counting mass equals `1 / |Aut|`, while recording the
  12uniform gauge-density principle as a MODEL premise.
  13
  14This file identifies that premise exactly. A class mass satisfies normalized
  15gauge counting if its mass times the number of `(labeled copy, relabeling
  16witness)` pairs equals the number of labeled copies. The main equivalence says
  17that this principle holds exactly when every class has the `1 / |Aut|` mass.
  18
  19The explicit two-point class proves the principle has real content: the
  20quotient-uniform class mass fails it. Thus the remaining substrate task cannot
  21be discharged by the invariance axioms or by renaming uniform quotient
  22counting. It requires a derivation of normalized gauge counting from richer
  23ledger structure. This module supplies the certified blocker and flips no
  24`FullTheoryLedger` flag.
  25
  26No `sorry`, `admit`, new axiom, or `native_decide`.
  27-/
  28
  29namespace IndisputableMonolith
  30namespace Gravity
  31namespace SevenGaps
  32namespace MeasureSubstrateBlocker
  33
  34open PathSumMeasure
  35open ExactShellGaugePreflight
  36
  37noncomputable section
  38
  39/-- The exact extra principle used by the gauge-counting derivation: class
  40mass times gauge-witness volume equals labeled orbit size. -/
  41def GaugeCountingPrinciple {B : ℕ}
  42    (ν : TriangulationClass B → ℝ) : Prop :=
  43  ∀ c, ν c * (pairCountClass c : ℝ) = (orbitCardClass c : ℝ)
  44
  45/-- The counting-defined mass satisfies normalized gauge counting. -/
  46theorem gaugeOrbitMass_satisfies {B : ℕ} :
  47    GaugeCountingPrinciple (gaugeOrbitMass :
  48      TriangulationClass B → ℝ) :=
  49  gaugeOrbitMass_mul_pairCount
  50
  51/-- Normalized gauge counting selects exactly the counting-defined mass.
  52This packages existence and uniqueness in one equivalence. -/
  53theorem gaugeCountingPrinciple_iff_eq_gaugeOrbitMass {B : ℕ}
  54    (ν : TriangulationClass B → ℝ) :
  55    GaugeCountingPrinciple ν ↔ ν = gaugeOrbitMass := by
  56  constructor
  57  · intro hν
  58    funext c
  59    exact gaugeCountingMass_unique ν hν c
  60  · intro hν
  61    subst hν
  62    exact gaugeOrbitMass_satisfies
  63
  64/-- **Exact blocker theorem.** Normalized gauge counting is equivalent to
  65assigning `1 / |Aut K|` to every represented bounded complex. The forward
  66direction is the orbit-stabilizer derivation. The reverse direction shows
  67that no weaker unnamed condition is hidden in the counting statement. -/
  68theorem gaugeCountingPrinciple_iff_mu_on_representatives {B : ℕ}
  69    (ν : TriangulationClass B → ℝ) :
  70    GaugeCountingPrinciple ν ↔
  71      ∀ K : BoundedComplex B,
  72        ν (Quotient.mk (relabelSetoid B) K) = mu K := by
  73  rw [gaugeCountingPrinciple_iff_eq_gaugeOrbitMass]
  74  constructor
  75  · intro hν K
  76    rw [hν]
  77    exact gaugeOrbitMass_eq_mu K
  78  · intro hν
  79    funext c
  80    refine Quotient.inductionOn c ?_
  81    intro K
  82    exact (hν K).trans (gaugeOrbitMass_eq_mu K).symm
  83
  84/-- Uniform mass on quotient classes. This is the live decoy admitted by
  85the weaker invariance requirements. -/
  86def uniformClassMass {B : ℕ} : TriangulationClass B → ℝ :=
  87  fun _ => 1
  88
  89/-- The quotient-uniform decoy fails normalized gauge counting on the
  90two-point class, where the required mass is `1/2`. This proves that the
  91extra principle is discriminating and does not restate class invariance. -/
  92theorem uniformClassMass_not_gaugeCounting (B : ℕ) (hB : 2 ≤ B) :
  93    ¬ GaugeCountingPrinciple
  94      (uniformClassMass : TriangulationClass B → ℝ) := by
  95  intro h
  96  have hmu :=
  97    (gaugeCountingPrinciple_iff_mu_on_representatives
  98      (uniformClassMass : TriangulationClass B → ℝ)).mp h
  99      (MeasureInvarianceNoGo.twoPointComplex B hB)
 100  unfold uniformClassMass at hmu
 101  rw [MeasureInvarianceNoGo.mu_twoPointComplex B hB] at hmu
 102  norm_num at hmu
 103
 104/-- **Certified blocker package.** Gauge counting exists and selects
 105`1/|Aut|`; the quotient-uniform decoy fails it. What remains is precisely a
 106ledger theorem supplying `GaugeCountingPrinciple`, not more invariance. -/
 107theorem substrate_measure_blocker_certificate (B : ℕ) (hB : 2 ≤ B) :
 108    GaugeCountingPrinciple
 109        (gaugeOrbitMass : TriangulationClass B → ℝ) ∧
 110      (∀ ν : TriangulationClass B → ℝ,
 111        GaugeCountingPrinciple ν ↔
 112          ∀ K : BoundedComplex B,
 113            ν (Quotient.mk (relabelSetoid B) K) = mu K) ∧
 114      ¬ GaugeCountingPrinciple
 115        (uniformClassMass : TriangulationClass B → ℝ) :=
 116  ⟨gaugeOrbitMass_satisfies,
 117    gaugeCountingPrinciple_iff_mu_on_representatives,
 118    uniformClassMass_not_gaugeCounting B hB⟩
 119
 120end
 121
 122end MeasureSubstrateBlocker
 123end SevenGaps
 124end Gravity
 125end IndisputableMonolith
 126
 127#print axioms IndisputableMonolith.Gravity.SevenGaps.MeasureSubstrateBlocker.gaugeCountingPrinciple_iff_mu_on_representatives
 128#print axioms IndisputableMonolith.Gravity.SevenGaps.MeasureSubstrateBlocker.uniformClassMass_not_gaugeCounting
 129#print axioms IndisputableMonolith.Gravity.SevenGaps.MeasureSubstrateBlocker.substrate_measure_blocker_certificate
 130

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