Pith. sign in

IndisputableMonolith.Gravity.SevenGaps.MeasureInvarianceNoGo

IndisputableMonolith/Gravity/SevenGaps/MeasureInvarianceNoGo.lean · 417 lines · 26 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Gravity.SevenGaps.PathSumMeasure
   3
   4/-!
   5# Seven Gaps, Lane D1: invariance alone does not determine the path-sum measure
   6
   7## What this module proves (KILL + WITNESS)
   8
   9**Status: THEOREM (kernel no-go with explicit witnesses).**  The killed
  10prior attempt "mu-from-invariance" claimed that relabeling invariance
  11(plus the obvious positivity and normalization requirements) singles out
  12the symmetry-factor measure `mu = 1/|Aut|` on the scoped path-sum
  13configuration class.  That positive claim stays dead.  This module proves
  14the corresponding NO-GO as a kernel fact:
  15
  16* `InvarianceAxioms` names the invariance-type properties used here, each
  17  stateable against the existing Lean machinery: relabeling invariance
  18  (the measure is a class function for `relabelSetoid`),
  19  strict positivity, per-configuration normalization `w K <= 1`, and the
  20  unit normalization `w(empty) = 1` on the canonical empty configuration.
  21  The no-go is scoped to THIS named set; a strictly richer axiom set
  22  (gluing/factorization, orbit-stabilizer, substrate structure) could in
  23  principle restore uniqueness, and that possibility is exactly the OPEN
  24  substrate-derivation frontier.
  25* THREE genuinely different weight functions satisfy ALL of the named
  26  axioms: the symmetry-factor measure `mu = 1/|Aut|` (`muMeasure`), the
  27  uniform weight `1` (`uniformMeasure`), and the squared symmetry factor
  28  `1/|Aut|^2` (`muSqMeasure`).  In fact a countably infinite injective
  29  family does (`muPowMeasure`, `invariance_admits_infinite_measure_family`).
  30* The separation is witnessed concretely, not abstractly: the two-vertex
  31  edgeless configuration `twoPointComplex` has automorphism group of
  32  cardinality exactly 2 (`autCard_twoPointComplex`, via the explicit
  33  equivalence `twoPointAutEquiv` with the permutation triple), so
  34  `mu = 1/2 < 1` there (`mu_twoPointComplex`) while the uniform weight
  35  is `1`.
  36* **Headline:** `mu_not_determined_by_invariance`.  Both candidate
  37  measures satisfy the named axioms and they are unequal, with the
  38  pointwise strict inequality exhibited.  Invariance alone underdetermines
  39  the path-sum measure.
  40
  41## What this module does NOT prove (binding honesty disclosures)
  42
  43* It does NOT resurrect the positive claim that invariance fixes
  44  `1/|Aut|`; it refutes exactly that determination claim.
  45* It does NOT derive the `1/|Aut|` measure from recognition-ledger
  46  substrate axioms.  `substrate_measure_derived` stays RED (OPEN): no
  47  named substrate axiom set in the existing Lean forces a unique measure,
  48  and this module shows the invariance-type axioms stateable against the
  49  existing `PathSumMeasure` machinery cannot.  A future derivation would
  50  need strictly richer named substrate structure.
  51* A disjoint-union / gluing factorization axiom is NOT included in
  52  `InvarianceAxioms`, because the existing `BoundedComplex` machinery
  53  carries no disjoint-union operation to state it against.  The no-go is
  54  scoped to the axioms actually named; this scope is disclosed here and
  55  in `measureInvarianceNoGoStatus`.
  56* Nothing here concerns the continuum limit (`Z_RS_continuum_limit`
  57  stays RED / OPEN), and no `FullTheoryLedger` flag is touched.
  58
  59## Status tiers (honest tagging)
  60
  61**THEOREM (proved below, 0 sorry, 0 new axioms, no `native_decide`):**
  62`autCard_emptyComplex`, `mu_emptyComplex`, `autCard_twoPointComplex`,
  63`mu_twoPointComplex`, `muMeasure_satisfies`, `uniformMeasure_satisfies`,
  64`muSqMeasure_satisfies`, `muPowMeasure_satisfies`,
  65`mu_not_determined_by_invariance`, `invariance_underdetermines_measure`,
  66`invariance_admits_infinite_measure_family`.
  67
  68**MODEL (definitional, inherited):** the scoped configuration class
  69`BoundedComplex` and the `1/|Aut|` convention itself, from
  70`PathSumMeasure`.
  71
  72**OPEN (recorded, never claimed):** a substrate-DERIVED unique measure;
  73the continuum limit.
  74
  75Expected axiom footprint: standard trio
  76`[propext, Classical.choice, Quot.sound]`.
  77-/
  78
  79namespace IndisputableMonolith
  80namespace Gravity
  81namespace SevenGaps
  82namespace MeasureInvarianceNoGo
  83
  84open PathSumMeasure
  85
  86/-! ## §1. The named invariance axioms
  87
  88The invariance-type requirements on a candidate path-sum weight used by
  89this no-go: class-function invariance under `relabelSetoid`, strict
  90positivity, per-configuration normalization, and unit weight on the
  91canonical empty configuration.  A disjoint-union factorization axiom is
  92NOT stateable against the existing `BoundedComplex` inventory (no gluing
  93operation exists there); that scope limit is disclosed in the module
  94docstring, and the no-go is scoped to the axioms named here. -/
  95
  96/-- The named invariance axioms for a candidate path-sum weight `w` on the
  97scoped configuration class at cap `B`.  The no-go below is scoped to
  98exactly this axiom set. -/
  99structure InvarianceAxioms (B : ℕ) (w : BoundedComplex B → ℝ) : Prop where
 100  /-- The weight is a relabeling class function. -/
 101  relabel_invariant : ∀ K K' : BoundedComplex B, Equivalent K K' → w K = w K'
 102  /-- The weight is strictly positive. -/
 103  positive : ∀ K : BoundedComplex B, 0 < w K
 104  /-- Per-configuration normalization: no configuration outweighs the
 105  reference weight 1. -/
 106  normalized_le_one : ∀ K : BoundedComplex B, w K ≤ 1
 107  /-- Unit normalization on the canonical empty configuration. -/
 108  unital_on_empty : w (emptyComplex B) = 1
 109
 110/-- **THEOREM (normalizability on the finite scoped family).**  Any weight
 111satisfying the named axioms has finite total mass bounded by the proved
 112configuration count: the axioms already contain normalizability. -/
 113theorem InvarianceAxioms.totalMass_le_card {B : ℕ} {w : BoundedComplex B → ℝ}
 114    (h : InvarianceAxioms B w) :
 115    ∑ K : BoundedComplex B, w K ≤ (Fintype.card (BoundedComplex B) : ℝ) := by
 116  calc ∑ K : BoundedComplex B, w K
 117      ≤ ∑ _K : BoundedComplex B, (1 : ℝ) :=
 118        Finset.sum_le_sum fun K _ => h.normalized_le_one K
 119    _ = (Fintype.card (BoundedComplex B) : ℝ) := by
 120        rw [Finset.sum_const, Finset.card_univ, nsmul_eq_mul, mul_one]
 121
 122/-! ## §2. The symmetry factor on the empty configuration -/
 123
 124/-- The automorphism group of the empty configuration is trivial: all
 125three index types are empty, so all three index bijections are forced. -/
 126instance instSubsingletonAutEmpty (B : ℕ) :
 127    Subsingleton (Aut (emptyComplex B)) :=
 128  ⟨fun _a _b => Relabel.ext
 129    (Equiv.ext fun x => x.elim0)
 130    (Equiv.ext fun x => x.elim0)
 131    (Equiv.ext fun x => x.elim0)⟩
 132
 133/-- **THEOREM.**  `|Aut(empty)| = 1`. -/
 134theorem autCard_emptyComplex (B : ℕ) :
 135    Nat.card (Aut (emptyComplex B)) = 1 :=
 136  Nat.card_unique
 137
 138/-- **THEOREM.**  The symmetry-factor measure is 1 on the empty
 139configuration, so `mu` satisfies the unit-normalization axiom. -/
 140theorem mu_emptyComplex (B : ℕ) : mu (emptyComplex B) = 1 := by
 141  unfold mu
 142  rw [autCard_emptyComplex]
 143  norm_num
 144
 145/-! ## §3. The separating witness: two vertices, no incidence
 146
 147The two-vertex edgeless configuration has a nontrivial automorphism (the
 148vertex swap), and its automorphism group is EXACTLY the permutation
 149triple `S_2 x S_0 x S_0` because the incidence commutation constraints
 150are vacuous.  So `mu = 1/2` there while the uniform weight is 1. -/
 151
 152/-- The two-vertex edgeless configuration at any cap `B >= 2`.  (`abbrev`
 153so the size fields reduce during elaboration.) -/
 154abbrev twoPointComplex (B : ℕ) (hB : 2 ≤ B) : BoundedComplex B where
 155  nV := 2
 156  nE := 0
 157  nT := 0
 158  hV := hB
 159  hE := Nat.zero_le B
 160  hT := Nat.zero_le B
 161  edgeVerts := fun e => e.elim0
 162  tetVerts := fun t => t.elim0
 163
 164/-- With no edges and no tetrahedra the commutation constraints are
 165vacuous: the automorphism group of the two-point configuration IS the
 166full triple of index permutations. -/
 167def twoPointAutEquiv (B : ℕ) (hB : 2 ≤ B) :
 168    Aut (twoPointComplex B hB) ≃
 169      ((Fin 2 ≃ Fin 2) × (Fin 0 ≃ Fin 0) × (Fin 0 ≃ Fin 0)) where
 170  toFun a := ⟨a.vEquiv, a.eEquiv, a.tEquiv⟩
 171  invFun p :=
 172    { vEquiv := p.1
 173      eEquiv := p.2.1
 174      tEquiv := p.2.2
 175      edge_comm := fun e => e.elim0
 176      tet_comm := fun t _ => t.elim0 }
 177  left_inv _ := rfl
 178  right_inv _ := rfl
 179
 180/-- **THEOREM.**  `|Aut(twoPoint)| = 2` exactly (the identity and the
 181vertex swap). -/
 182theorem autCard_twoPointComplex (B : ℕ) (hB : 2 ≤ B) :
 183    Nat.card (Aut (twoPointComplex B hB)) = 2 := by
 184  rw [Nat.card_congr (twoPointAutEquiv B hB), Nat.card_eq_fintype_card,
 185    Fintype.card_prod, Fintype.card_prod,
 186    Fintype.card_equiv (Equiv.refl (Fin 2)),
 187    Fintype.card_equiv (Equiv.refl (Fin 0)),
 188    Fintype.card_fin 2, Fintype.card_fin 0]
 189  norm_num [Nat.factorial]
 190
 191/-- **THEOREM.**  The symmetry-factor measure of the two-point witness is
 192exactly `1/2`. -/
 193theorem mu_twoPointComplex (B : ℕ) (hB : 2 ≤ B) :
 194    mu (twoPointComplex B hB) = 1 / 2 := by
 195  unfold mu
 196  rw [autCard_twoPointComplex B hB]
 197  norm_num
 198
 199/-! ## §4. The candidate measures and their axiom certificates -/
 200
 201/-- Candidate 1: the standing symmetry-factor measure `1/|Aut|`. -/
 202noncomputable def muMeasure (B : ℕ) : BoundedComplex B → ℝ := fun K => mu K
 203
 204/-- Candidate 2: the uniform weight 1. -/
 205def uniformMeasure (B : ℕ) : BoundedComplex B → ℝ := fun _ => 1
 206
 207/-- Candidate 3: the squared symmetry factor `1/|Aut|^2`. -/
 208noncomputable def muSqMeasure (B : ℕ) : BoundedComplex B → ℝ :=
 209  fun K => mu K ^ 2
 210
 211/-- A countable family of candidates: `1/|Aut|^(n+1)` for every `n`. -/
 212noncomputable def muPowMeasure (B : ℕ) (n : ℕ) : BoundedComplex B → ℝ :=
 213  fun K => mu K ^ (n + 1)
 214
 215/-- **THEOREM.**  `1/|Aut|` satisfies every named invariance axiom. -/
 216theorem muMeasure_satisfies (B : ℕ) : InvarianceAxioms B (muMeasure B) :=
 217  ⟨fun _ _ h => mu_congr h, fun K => mu_pos K, fun K => mu_le_one K,
 218    mu_emptyComplex B⟩
 219
 220/-- **THEOREM.**  The uniform weight 1 satisfies every named invariance
 221axiom. -/
 222theorem uniformMeasure_satisfies (B : ℕ) :
 223    InvarianceAxioms B (uniformMeasure B) :=
 224  ⟨fun _ _ _ => rfl, fun _ => one_pos, fun _ => le_refl 1, rfl⟩
 225
 226/-- **THEOREM.**  `1/|Aut|^2` satisfies every named invariance axiom. -/
 227theorem muSqMeasure_satisfies (B : ℕ) : InvarianceAxioms B (muSqMeasure B) :=
 228  ⟨fun K K' h => by
 229      show mu K ^ 2 = mu K' ^ 2
 230      rw [mu_congr h],
 231    fun K => pow_pos (mu_pos K) 2,
 232    fun K => pow_le_one₀ (mu_pos K).le (mu_le_one K),
 233    by
 234      show mu (emptyComplex B) ^ 2 = 1
 235      rw [mu_emptyComplex B]
 236      norm_num⟩
 237
 238/-- **THEOREM.**  Every member of the countable family satisfies every
 239named invariance axiom. -/
 240theorem muPowMeasure_satisfies (B n : ℕ) :
 241    InvarianceAxioms B (muPowMeasure B n) :=
 242  ⟨fun K K' h => by
 243      show mu K ^ (n + 1) = mu K' ^ (n + 1)
 244      rw [mu_congr h],
 245    fun K => pow_pos (mu_pos K) (n + 1),
 246    fun K => pow_le_one₀ (mu_pos K).le (mu_le_one K),
 247    by
 248      show mu (emptyComplex B) ^ (n + 1) = 1
 249      rw [mu_emptyComplex B]
 250      norm_num⟩
 251
 252/-! ## §5. The separation: the candidates are genuinely different -/
 253
 254/-- **Pointwise strict separation.**  At the two-point witness the
 255symmetry-factor measure is strictly below the uniform weight:
 256`1/2 < 1`. -/
 257theorem muMeasure_lt_uniform_at_witness (B : ℕ) (hB : 2 ≤ B) :
 258    muMeasure B (twoPointComplex B hB) <
 259      uniformMeasure B (twoPointComplex B hB) := by
 260  show mu (twoPointComplex B hB) < 1
 261  rw [mu_twoPointComplex B hB]
 262  norm_num
 263
 264/-- The two candidate measures are unequal as functions. -/
 265theorem muMeasure_ne_uniformMeasure (B : ℕ) (hB : 2 ≤ B) :
 266    muMeasure B ≠ uniformMeasure B := fun h =>
 267  absurd (congrFun h (twoPointComplex B hB))
 268    (ne_of_lt (muMeasure_lt_uniform_at_witness B hB))
 269
 270/-- The squared candidate also separates from both. -/
 271theorem muSqMeasure_separations (B : ℕ) (hB : 2 ≤ B) :
 272    muSqMeasure B ≠ uniformMeasure B ∧ muSqMeasure B ≠ muMeasure B := by
 273  constructor
 274  · intro h
 275    have hval := congrFun h (twoPointComplex B hB)
 276    have hmu : muSqMeasure B (twoPointComplex B hB) = 1 / 4 := by
 277      show mu (twoPointComplex B hB) ^ 2 = 1 / 4
 278      rw [mu_twoPointComplex B hB]
 279      norm_num
 280    rw [hmu] at hval
 281    have huni : uniformMeasure B (twoPointComplex B hB) = 1 := rfl
 282    rw [huni] at hval
 283    norm_num at hval
 284  · intro h
 285    have hval := congrFun h (twoPointComplex B hB)
 286    have hmu2 : muSqMeasure B (twoPointComplex B hB) = 1 / 4 := by
 287      show mu (twoPointComplex B hB) ^ 2 = 1 / 4
 288      rw [mu_twoPointComplex B hB]
 289      norm_num
 290    have hmu1 : muMeasure B (twoPointComplex B hB) = 1 / 2 :=
 291      mu_twoPointComplex B hB
 292    rw [hmu2, hmu1] at hval
 293    norm_num at hval
 294
 295/-! ## §6. Headline no-go theorems -/
 296
 297/-- **HEADLINE (KILL + WITNESS).**  The named invariance axioms do NOT
 298determine the path-sum measure: the symmetry-factor measure `1/|Aut|`
 299and the uniform weight 1 BOTH satisfy every named axiom, yet they are
 300unequal, with the pointwise strict inequality exhibited at the concrete
 301two-point witness (where `|Aut| = 2`).  This is the kernel refutation of
 302the killed "mu-from-invariance" determination claim; the substrate
 303derivation of a unique measure remains OPEN. -/
 304theorem mu_not_determined_by_invariance (B : ℕ) (hB : 2 ≤ B) :
 305    InvarianceAxioms B (muMeasure B) ∧
 306    InvarianceAxioms B (uniformMeasure B) ∧
 307    muMeasure B ≠ uniformMeasure B ∧
 308    muMeasure B (twoPointComplex B hB) <
 309      uniformMeasure B (twoPointComplex B hB) :=
 310  ⟨muMeasure_satisfies B, uniformMeasure_satisfies B,
 311    muMeasure_ne_uniformMeasure B hB,
 312    muMeasure_lt_uniform_at_witness B hB⟩
 313
 314/-- **Existential packaging of the headline.**  There exist two distinct
 315weight functions satisfying all the named invariance axioms. -/
 316theorem invariance_underdetermines_measure (B : ℕ) (hB : 2 ≤ B) :
 317    ∃ w₁ w₂ : BoundedComplex B → ℝ,
 318      InvarianceAxioms B w₁ ∧ InvarianceAxioms B w₂ ∧ w₁ ≠ w₂ :=
 319  ⟨muMeasure B, uniformMeasure B, muMeasure_satisfies B,
 320    uniformMeasure_satisfies B, muMeasure_ne_uniformMeasure B hB⟩
 321
 322/-- The countable family is injective: distinct exponents give distinct
 323measures (separated at the two-point witness where `mu = 1/2`). -/
 324theorem muPowMeasure_injective (B : ℕ) (hB : 2 ≤ B) :
 325    Function.Injective (muPowMeasure B) := by
 326  have hval : ∀ n : ℕ,
 327      muPowMeasure B n (twoPointComplex B hB) = (1 / 2 : ℝ) ^ (n + 1) := by
 328    intro n
 329    show mu (twoPointComplex B hB) ^ (n + 1) = (1 / 2 : ℝ) ^ (n + 1)
 330    rw [mu_twoPointComplex B hB]
 331  have hanti : StrictAnti (fun n : ℕ => ((1 : ℝ) / 2) ^ (n + 1)) := by
 332    intro a b hab
 333    exact pow_lt_pow_right_of_lt_one₀ (by norm_num) (by norm_num)
 334      (Nat.succ_lt_succ hab)
 335  intro n m h
 336  have h2 : ((1 : ℝ) / 2) ^ (n + 1) = ((1 : ℝ) / 2) ^ (m + 1) := by
 337    rw [← hval n, ← hval m, h]
 338  exact hanti.injective h2
 339
 340/-- **HEADLINE (strengthened form).**  The named invariance axioms admit a
 341countably INFINITE injective family of measures `1/|Aut|^(n+1)`: the
 342underdetermination is not a two-point accident. -/
 343theorem invariance_admits_infinite_measure_family (B : ℕ) (hB : 2 ≤ B) :
 344    (∀ n : ℕ, InvarianceAxioms B (muPowMeasure B n)) ∧
 345      Function.Injective (muPowMeasure B) :=
 346  ⟨muPowMeasure_satisfies B, muPowMeasure_injective B hB⟩
 347
 348/-! ## §7. Status record (honest boundary; RED flags stay RED) -/
 349
 350/-- Status record for the measure-invariance no-go.  Every `true` flag is
 351tied to its kernel theorem by the grounding theorem below; the RED flags
 352stay false. -/
 353structure MeasureInvarianceNoGoStatus where
 354  /-- §1: `InvarianceAxioms` names the stateable invariance properties. -/
 355  named_axioms_stated : Bool
 356  /-- §4: `muMeasure_satisfies`. -/
 357  mu_satisfies_axioms : Bool
 358  /-- §4: `uniformMeasure_satisfies`. -/
 359  uniform_satisfies_axioms : Bool
 360  /-- §6: `mu_not_determined_by_invariance`. -/
 361  measures_separated : Bool
 362  /-- §6: `invariance_admits_infinite_measure_family`. -/
 363  infinite_family_exhibited : Bool
 364  /-- Disclosed scope limit: no disjoint-union factorization axiom is
 365  stateable against the existing `BoundedComplex` machinery. -/
 366  factorization_axiom_stateable : Bool
 367  /-- RED (OPEN): no substrate derivation of a unique measure exists;
 368  this module proves the named invariance axioms cannot supply one. -/
 369  substrate_measure_derived : Bool
 370  /-- RED (OPEN). -/
 371  Z_RS_continuum_limit : Bool
 372
 373/-- The canonical status record. -/
 374def measureInvarianceNoGoStatus : MeasureInvarianceNoGoStatus where
 375  named_axioms_stated := true
 376  mu_satisfies_axioms := true
 377  uniform_satisfies_axioms := true
 378  measures_separated := true
 379  infinite_family_exhibited := true
 380  factorization_axiom_stateable := false
 381  substrate_measure_derived := false
 382  Z_RS_continuum_limit := false
 383
 384/-- **Grounding theorem.**  Every `true` status flag is tied to a kernel
 385statement; the RED flags remain false. -/
 386theorem measureInvarianceNoGoStatus_grounded :
 387    (measureInvarianceNoGoStatus.named_axioms_stated = true ∧
 388      ∀ B : ℕ, ∃ w : BoundedComplex B → ℝ, InvarianceAxioms B w) ∧
 389    (measureInvarianceNoGoStatus.mu_satisfies_axioms = true ∧
 390      ∀ B : ℕ, InvarianceAxioms B (muMeasure B)) ∧
 391    (measureInvarianceNoGoStatus.uniform_satisfies_axioms = true ∧
 392      ∀ B : ℕ, InvarianceAxioms B (uniformMeasure B)) ∧
 393    (measureInvarianceNoGoStatus.measures_separated = true ∧
 394      ∀ B : ℕ, 2 ≤ B → muMeasure B ≠ uniformMeasure B) ∧
 395    (measureInvarianceNoGoStatus.infinite_family_exhibited = true ∧
 396      (∀ B n : ℕ, InvarianceAxioms B (muPowMeasure B n)) ∧
 397      ∀ B : ℕ, 2 ≤ B → Function.Injective (muPowMeasure B)) ∧
 398    measureInvarianceNoGoStatus.factorization_axiom_stateable = false ∧
 399    measureInvarianceNoGoStatus.substrate_measure_derived = false ∧
 400    measureInvarianceNoGoStatus.Z_RS_continuum_limit = false :=
 401  ⟨⟨rfl, fun B => ⟨uniformMeasure B, uniformMeasure_satisfies B⟩⟩,
 402    ⟨rfl, muMeasure_satisfies⟩,
 403    ⟨rfl, uniformMeasure_satisfies⟩,
 404    ⟨rfl, muMeasure_ne_uniformMeasure⟩,
 405    ⟨rfl, fun B n => muPowMeasure_satisfies B n, muPowMeasure_injective⟩,
 406    rfl, rfl, rfl⟩
 407
 408#print axioms mu_not_determined_by_invariance
 409#print axioms invariance_underdetermines_measure
 410#print axioms invariance_admits_infinite_measure_family
 411#print axioms measureInvarianceNoGoStatus_grounded
 412
 413end MeasureInvarianceNoGo
 414end SevenGaps
 415end Gravity
 416end IndisputableMonolith
 417

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