Pith. sign in

IndisputableMonolith.Gravity.SevenGaps.ThreePentCausalConsistency

IndisputableMonolith/Gravity/SevenGaps/ThreePentCausalConsistency.lean · 371 lines · 23 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import IndisputableMonolith.Gravity.SevenGaps.ThreePentInteriorHingeWitness
   2import IndisputableMonolith.Gravity.SevenGaps.CausalSimplex4D
   3
   4/-!
   5# Three-Pent Causal Consistency: an explicit admissible causal edge-length
   6# assignment on the minimal interior-hinge complex (gap6-a, W3-2)
   7
   8QG full-theory campaign, Wave 3 lane W3-2.  `ThreePentInteriorHingeWitness`
   9proved the minimal genuine interior hinge exists COMBINATORIALLY and its
  10honest-scope clause named exactly what was missing: consistent causal edge
  11lengths around the cycle.  This module supplies them.
  12
  13## The assignment (MODEL data, one global function)
  14
  15Slice structure on the six vertices: the hinge triangle `{0,1,2}` lies on
  16slice `t` (`slice6 = false`), the three link vertices `{3,4,5}` on slice
  17`t+1` (`slice6 = true`).  ONE global squared-length function on vertex
  18pairs (`causalSqLength`): same-slice pairs carry `a^2` (spacelike),
  19cross-slice pairs carry `-(alpha * a^2)` (timelike).  Because every pent
  20pulls its edge tuple back from this single function, cycle consistency is
  21structural: adjacent pents agree on shared faces by construction
  22(`shared_face_consistency` states it as a kernel theorem).
  23
  24## What is proved (THEOREM)
  25
  26* `induced_pentA_eq` / `induced_pentB_eq` / `induced_pentC_eq` — the
  27  heart: each of the three pents, enumerated by its order-preserving
  28  vertex chart, pulls the global assignment back to EXACTLY the standard
  29  CDT Lorentzian (3,2) tuple `lorentzianSqEdges threeTwo a alpha` of the
  30  kernel-checked `CausalSimplex4D` layer.  The three-pent complex is
  31  literally three standard causal (3,2) pents glued around the hinge.
  32* `pent_charts_cover` / `pent_charts_injective` /
  33  `pent_slices_match` — the charts enumerate the witness module's own
  34  pents (`decide`), injectively, and carry slice `t`/`t+1` exactly onto
  35  the (3,2) slice structure of `CausalSimplex4D.sliceOf`.
  36* `threePent_lorentzian_class` — each induced tuple is a member of the
  37  Lorentzian causal class (`LorentzianClass threeTwo`).
  38* `threePent_lorentzian_cm4_neg` — per-pent Lorentzian Cayley-Menger
  39  certificate: `cm4 = -((12*alpha + 7) * a^8) < 0` on every pent
  40  (`0 < a`, `0 ≤ alpha`).
  41* `threePent_euclidean_admissible` — per-pent Euclidean admissibility
  42  after Wick: `cm4 (wick threeTwo ·) > 0` for every pent on the EXACT
  43  CDT range `alpha > 7/12` (`alphaMin threeTwo`); thresholds inherited
  44  exact from `CausalSimplex4D`.
  45* `hinge_edges_spacelike` / `link_edges_spacelike` /
  46  `cross_edges_timelike` — causal-type certificates: the hinge triangle
  47  and the link cycle `3-4-5-3` are spacelike, all nine hinge-to-link
  48  edges timelike.
  49* `physical_point_regular` — non-vacuity anchor: at `a = 1`, `alpha = 1`
  50  every pent Wick-rotates to the regular unit 4-simplex, `cm4 = 5`.
  51* `threePent_causal_assignment` — the packaged headline: on `0 < a`,
  52  `7/12 < alpha`, the explicit assignment simultaneously presents all
  53  three pents as admissible causal (3,2) simplices.
  54
  55## Consequence for the campaign (existence-only; critic-tightened scope)
  56
  57Gap6-a in its EXISTENTIAL reading is CLOSED POSITIVE: an admissible
  58causal edge-length assignment on the minimal interior-hinge complex
  59EXISTS explicitly, so the certified-NON-EXISTENCE branch of the W3-2
  60lane (which would have stopped gap6-b) does not fire.  What is realized
  61is THE symmetric standard CDT slab assignment (lengths depend only on
  62same-slice vs cross-slice); the classification of ASYMMETRIC assignments
  63around the hinge cycle, and any monodromy obstruction theory for
  64non-standard per-pent data, are NOT addressed and remain open questions
  65outside this lane's contract.  The action-level continuation lane
  66(gap6-b, W4-3 `WickActionInteriorHinge`) now has a concrete causal
  67object to attack: three (3,2) pents whose hinge data continuation
  68certificates are already landed per pent (`WickThreeTwoHinges`, B2).
  69This module does NOT do gap6-b and does NOT touch any
  70`FullTheoryLedger` flag; `gap6_lorentzian_action` stays `false`.
  71
  72## Inherited disclosure (binding, from `CausalSimplex4D`)
  73
  74"Admissible" is the Cayley-Menger positivity criterion `cm4 > 0` after
  75Wick (equivalently `9216 * V^2 > 0`), the exact 4d CDT regime.  The
  76classical equivalence "cm4 > 0 iff embeddable in R^4" is NOT formalized
  77in this repo for n = 4; under that classical reading the Euclideanized
  78pents are genuine nondegenerate 4-simplices.  The dihedral ANGLE VALUES
  79around the hinge (needed for the deficit) are gap6-b's business, not
  80claimed here.
  81
  82No `sorry`, no `admit`, no new axioms, no `native_decide` (`decide`
  83only, on finite Bool/Finset data), no `: True` or `Nonempty`-only
  84headline.  Expected axiom footprint of every theorem: the standard trio
  85`[propext, Classical.choice, Quot.sound]`.  Receipts at end of file.
  86-/
  87
  88namespace IndisputableMonolith
  89namespace Gravity
  90namespace SevenGaps
  91namespace ThreePentCausalConsistency
  92
  93open CausalSimplex4D
  94
  95noncomputable section
  96
  97/-! ## §1. The global causal assignment (MODEL) -/
  98
  99/-- Slice membership of the six vertices: hinge `{0,1,2}` on slice `t`
 100(`false`), link vertices `{3,4,5}` on slice `t+1` (`true`). -/
 101def slice6 : Fin 6 → Bool
 102  | 0 => false | 1 => false | 2 => false
 103  | 3 => true | 4 => true | 5 => true
 104
 105/-- THE global causal squared-length assignment on vertex pairs:
 106same-slice pairs are spacelike (`a^2`), cross-slice pairs timelike
 107(`-(alpha * a^2)`).  Every pent pulls its edge tuple back from this ONE
 108function, so shared faces agree by construction. -/
 109def causalSqLength (a alpha : ℝ) (u v : Fin 6) : ℝ :=
 110  if slice6 u != slice6 v then -(alpha * a ^ 2) else a ^ 2
 111
 112/-- The assignment is symmetric in its vertex pair. -/
 113theorem causalSqLength_symm (a alpha : ℝ) (u v : Fin 6) :
 114    causalSqLength a alpha u v = causalSqLength a alpha v u := by
 115  unfold causalSqLength
 116  cases hu : slice6 u <;> cases hv : slice6 v <;> simp
 117
 118/-! ## §2. The three pent charts and their incidence certificates -/
 119
 120/-- Vertex chart of pent `A = {0,1,2,3,4}` (order-preserving). -/
 121def pentAVert : Fin 5 → Fin 6
 122  | 0 => 0 | 1 => 1 | 2 => 2 | 3 => 3 | 4 => 4
 123
 124/-- Vertex chart of pent `B = {0,1,2,4,5}` (order-preserving). -/
 125def pentBVert : Fin 5 → Fin 6
 126  | 0 => 0 | 1 => 1 | 2 => 2 | 3 => 4 | 4 => 5
 127
 128/-- Vertex chart of pent `C = {0,1,2,3,5}` (order-preserving). -/
 129def pentCVert : Fin 5 → Fin 6
 130  | 0 => 0 | 1 => 1 | 2 => 2 | 3 => 3 | 4 => 5
 131
 132/-- THEOREM (by `decide`): the three charts enumerate exactly the witness
 133module's pents. -/
 134theorem pent_charts_cover :
 135    Finset.univ.image pentAVert = ThreePentInteriorHingeWitness.pentA
 136      ∧ Finset.univ.image pentBVert = ThreePentInteriorHingeWitness.pentB
 137      ∧ Finset.univ.image pentCVert = ThreePentInteriorHingeWitness.pentC := by
 138  decide
 139
 140/-- THEOREM (by `decide`): each chart is injective (five distinct
 141vertices; genuine 4-simplices). -/
 142theorem pent_charts_injective :
 143    Function.Injective pentAVert ∧ Function.Injective pentBVert
 144      ∧ Function.Injective pentCVert := by
 145  decide
 146
 147/-- THEOREM (by `decide`): every chart carries the global slice structure
 148exactly onto the (3,2) slice structure of the causal 4-simplex layer —
 149each pent has its `{0,1,2}` face on slice `t` and its residual pair on
 150slice `t+1`, which is the (3,2) causal type. -/
 151theorem pent_slices_match :
 152    (∀ v : Fin 5, slice6 (pentAVert v) = sliceOf CausalPentType.threeTwo v)
 153      ∧ (∀ v : Fin 5,
 154        slice6 (pentBVert v) = sliceOf CausalPentType.threeTwo v)
 155      ∧ (∀ v : Fin 5,
 156        slice6 (pentCVert v) = sliceOf CausalPentType.threeTwo v) := by
 157  decide
 158
 159/-! ## §3. The induced edge tuples ARE the standard causal (3,2) tuples -/
 160
 161/-- The squared-edge tuple a pent chart pulls back from the global
 162assignment. -/
 163def inducedSqEdges (verts : Fin 5 → Fin 6) (a alpha : ℝ) :
 164    SqEdges10 :=
 165  fun e =>
 166    causalSqLength a alpha (verts (pentEdgeVertices e).1)
 167      (verts (pentEdgeVertices e).2)
 168
 169/-- Shared-face consistency, structurally: whenever two charts send edge
 170indices to the same global vertex pair (in either order), the induced
 171squared lengths agree.  This is the "consistent around the cycle"
 172statement: there is one global length per edge of the complex, full
 173stop. -/
 174theorem shared_face_consistency (a alpha : ℝ) (P Q : Fin 5 → Fin 6)
 175    (e e' : Fin 10)
 176    (h : (P (pentEdgeVertices e).1 = Q (pentEdgeVertices e').1
 177          ∧ P (pentEdgeVertices e).2 = Q (pentEdgeVertices e').2)
 178        ∨ (P (pentEdgeVertices e).1 = Q (pentEdgeVertices e').2
 179          ∧ P (pentEdgeVertices e).2 = Q (pentEdgeVertices e').1)) :
 180    inducedSqEdges P a alpha e = inducedSqEdges Q a alpha e' := by
 181  unfold inducedSqEdges
 182  rcases h with ⟨h1, h2⟩ | ⟨h1, h2⟩
 183  · rw [h1, h2]
 184  · rw [h1, h2, causalSqLength_symm]
 185
 186/-- **THEOREM (consistency core, pent A): the induced tuple of pent A is
 187EXACTLY the standard CDT Lorentzian (3,2) tuple.** -/
 188theorem induced_pentA_eq (a alpha : ℝ) :
 189    inducedSqEdges pentAVert a alpha =
 190      lorentzianSqEdges CausalPentType.threeTwo a alpha := by
 191  funext e
 192  fin_cases e <;> rfl
 193
 194/-- **THEOREM (consistency core, pent B).** -/
 195theorem induced_pentB_eq (a alpha : ℝ) :
 196    inducedSqEdges pentBVert a alpha =
 197      lorentzianSqEdges CausalPentType.threeTwo a alpha := by
 198  funext e
 199  fin_cases e <;> rfl
 200
 201/-- **THEOREM (consistency core, pent C).** -/
 202theorem induced_pentC_eq (a alpha : ℝ) :
 203    inducedSqEdges pentCVert a alpha =
 204      lorentzianSqEdges CausalPentType.threeTwo a alpha := by
 205  funext e
 206  fin_cases e <;> rfl
 207
 208/-! ## §4. Per-pent certificates (Lorentzian class, Cayley-Menger, Wick) -/
 209
 210/-- THEOREM: each induced tuple is a member of the Lorentzian causal
 211class of type (3,2). -/
 212theorem threePent_lorentzian_class (a alpha : ℝ) (ha : 0 < a)
 213    (halpha : 0 < alpha) :
 214    inducedSqEdges pentAVert a alpha ∈ LorentzianClass CausalPentType.threeTwo
 215      ∧ inducedSqEdges pentBVert a alpha
 216          ∈ LorentzianClass CausalPentType.threeTwo
 217      ∧ inducedSqEdges pentCVert a alpha
 218          ∈ LorentzianClass CausalPentType.threeTwo :=
 219  ⟨⟨a, alpha, ha, halpha, induced_pentA_eq a alpha⟩,
 220    ⟨a, alpha, ha, halpha, induced_pentB_eq a alpha⟩,
 221    ⟨a, alpha, ha, halpha, induced_pentC_eq a alpha⟩⟩
 222
 223/-- THEOREM (per-pent Lorentzian Cayley-Menger certificate): every pent
 224of the complex has `cm4 = -((12*alpha + 7) * a^8) < 0` — the strict CM
 225negativity of a genuine Lorentzian (3,2) simplex. -/
 226theorem threePent_lorentzian_cm4_neg (a alpha : ℝ) (ha : 0 < a)
 227    (halpha : 0 ≤ alpha) :
 228    cm4 (inducedSqEdges pentAVert a alpha) < 0
 229      ∧ cm4 (inducedSqEdges pentBVert a alpha) < 0
 230      ∧ cm4 (inducedSqEdges pentCVert a alpha) < 0 := by
 231  rw [induced_pentA_eq, induced_pentB_eq, induced_pentC_eq]
 232  have h := lorentzian_cm4_neg_threeTwo a alpha ha halpha
 233  exact ⟨h, h, h⟩
 234
 235/-- THEOREM (per-pent Euclidean admissibility): on the EXACT 4d CDT
 236range `alpha > 7/12` (with `0 < a`), the Wick image of every pent
 237satisfies the Cayley-Menger positivity criterion `cm4 > 0` — all three
 238pents Euclideanize to nondegenerate 4-simplices simultaneously. -/
 239theorem threePent_euclidean_admissible (a alpha : ℝ) (ha : 0 < a)
 240    (halpha : 7 / 12 < alpha) :
 241    0 < cm4 (wick CausalPentType.threeTwo (inducedSqEdges pentAVert a alpha))
 242      ∧ 0 < cm4 (wick CausalPentType.threeTwo
 243          (inducedSqEdges pentBVert a alpha))
 244      ∧ 0 < cm4 (wick CausalPentType.threeTwo
 245          (inducedSqEdges pentCVert a alpha)) := by
 246  rw [induced_pentA_eq, induced_pentB_eq, induced_pentC_eq]
 247  have h := wick_lorentzian_nondegenerate CausalPentType.threeTwo a alpha ha
 248    (by rw [alphaMin_threeTwo]; exact halpha)
 249  exact ⟨h, h, h⟩
 250
 251/-! ## §5. Causal-type certificates on the complex -/
 252
 253/-- THEOREM: the three hinge edges `{0,1}, {0,2}, {1,2}` are spacelike
 254(squared length `a^2`). -/
 255theorem hinge_edges_spacelike (a alpha : ℝ) :
 256    causalSqLength a alpha 0 1 = a ^ 2
 257      ∧ causalSqLength a alpha 0 2 = a ^ 2
 258      ∧ causalSqLength a alpha 1 2 = a ^ 2 :=
 259  ⟨rfl, rfl, rfl⟩
 260
 261/-- THEOREM: the three link-cycle edges `{3,4}, {4,5}, {3,5}` (one per
 262pent: the residual pair) are spacelike (squared length `a^2`) — the
 263hinge link `3-4-5-3` is a spacelike cycle on slice `t+1`. -/
 264theorem link_edges_spacelike (a alpha : ℝ) :
 265    causalSqLength a alpha 3 4 = a ^ 2
 266      ∧ causalSqLength a alpha 4 5 = a ^ 2
 267      ∧ causalSqLength a alpha 3 5 = a ^ 2 :=
 268  ⟨rfl, rfl, rfl⟩
 269
 270/-- THEOREM: all nine hinge-to-link edges are timelike (squared length
 271`-(alpha * a^2)`). -/
 272theorem cross_edges_timelike (a alpha : ℝ) :
 273    ∀ u v : Fin 6, u ∈ GluedPentsHingeWitness.hinge →
 274      v ∈ ThreePentInteriorHingeWitness.linkVerts →
 275      causalSqLength a alpha u v = -(alpha * a ^ 2) := by
 276  intro u v hu hv
 277  fin_cases u <;> fin_cases v <;>
 278    first
 279      | rfl
 280      | exact absurd hu (by decide)
 281      | exact absurd hv (by decide)
 282
 283/-! ## §6. Physical-point anchor and the packaged headline -/
 284
 285/-- THEOREM (non-vacuity anchor): at the physical point `a = 1`,
 286`alpha = 1`, every pent of the complex Wick-rotates to the regular unit
 2874-simplex, `cm4 = 5`. -/
 288theorem physical_point_regular :
 289    wick CausalPentType.threeTwo (inducedSqEdges pentAVert 1 1)
 290        = (fun _ => (1 : ℝ))
 291      ∧ cm4 (wick CausalPentType.threeTwo (inducedSqEdges pentAVert 1 1)) = 5
 292      ∧ wick CausalPentType.threeTwo (inducedSqEdges pentBVert 1 1)
 293          = (fun _ => (1 : ℝ))
 294      ∧ wick CausalPentType.threeTwo (inducedSqEdges pentCVert 1 1)
 295          = (fun _ => (1 : ℝ)) := by
 296  have hA : wick CausalPentType.threeTwo (inducedSqEdges pentAVert 1 1)
 297      = (fun _ => (1 : ℝ)) := by
 298    rw [induced_pentA_eq, wick_lorentzian,
 299      euclideanSqEdges_alpha_one CausalPentType.threeTwo]
 300  have hB : wick CausalPentType.threeTwo (inducedSqEdges pentBVert 1 1)
 301      = (fun _ => (1 : ℝ)) := by
 302    rw [induced_pentB_eq, wick_lorentzian,
 303      euclideanSqEdges_alpha_one CausalPentType.threeTwo]
 304  have hC : wick CausalPentType.threeTwo (inducedSqEdges pentCVert 1 1)
 305      = (fun _ => (1 : ℝ)) := by
 306    rw [induced_pentC_eq, wick_lorentzian,
 307      euclideanSqEdges_alpha_one CausalPentType.threeTwo]
 308  exact ⟨hA, by rw [hA]; exact cm4_regular_unit, hB, hC⟩
 309
 310/-- **GAP6-A HEADLINE (THEOREM): an explicit admissible causal
 311edge-length assignment on the minimal three-pent interior-hinge complex
 312EXISTS.**  On the exact 4d CDT range (`0 < a`, `alpha > 7/12`), the ONE
 313global assignment `causalSqLength` presents all three pents
 314simultaneously as standard Lorentzian (3,2) simplices (consistency
 315core), members of the Lorentzian causal class, with strict Lorentzian
 316CM negativity and Euclidean CM admissibility after Wick, per pent.
 317EXISTENCE-ONLY SCOPE: this realizes the symmetric standard CDT slab
 318assignment; it does not classify asymmetric assignments or hinge-cycle
 319monodromy.  The certified-non-existence branch of the W3-2 lane does
 320not fire; gap6-b may proceed against this concrete object. -/
 321theorem threePent_causal_assignment (a alpha : ℝ) (ha : 0 < a)
 322    (halpha : 7 / 12 < alpha) :
 323    (inducedSqEdges pentAVert a alpha
 324          = lorentzianSqEdges CausalPentType.threeTwo a alpha
 325        ∧ inducedSqEdges pentBVert a alpha
 326          = lorentzianSqEdges CausalPentType.threeTwo a alpha
 327        ∧ inducedSqEdges pentCVert a alpha
 328          = lorentzianSqEdges CausalPentType.threeTwo a alpha)
 329      ∧ (inducedSqEdges pentAVert a alpha
 330            ∈ LorentzianClass CausalPentType.threeTwo
 331        ∧ inducedSqEdges pentBVert a alpha
 332            ∈ LorentzianClass CausalPentType.threeTwo
 333        ∧ inducedSqEdges pentCVert a alpha
 334            ∈ LorentzianClass CausalPentType.threeTwo)
 335      ∧ (cm4 (inducedSqEdges pentAVert a alpha) < 0
 336        ∧ cm4 (inducedSqEdges pentBVert a alpha) < 0
 337        ∧ cm4 (inducedSqEdges pentCVert a alpha) < 0)
 338      ∧ (0 < cm4 (wick CausalPentType.threeTwo
 339            (inducedSqEdges pentAVert a alpha))
 340        ∧ 0 < cm4 (wick CausalPentType.threeTwo
 341            (inducedSqEdges pentBVert a alpha))
 342        ∧ 0 < cm4 (wick CausalPentType.threeTwo
 343            (inducedSqEdges pentCVert a alpha))) := by
 344  have halpha0 : 0 < alpha := lt_trans (by norm_num) halpha
 345  exact ⟨⟨induced_pentA_eq a alpha, induced_pentB_eq a alpha,
 346      induced_pentC_eq a alpha⟩,
 347    threePent_lorentzian_class a alpha ha halpha0,
 348    threePent_lorentzian_cm4_neg a alpha ha halpha0.le,
 349    threePent_euclidean_admissible a alpha ha halpha⟩
 350
 351/-! ## §7. Axiom audit
 352
 353Expected for each: `[propext, Classical.choice, Quot.sound]` (no
 354`sorryAx`, no `Lean.ofReduceBool`, no repo-local axioms). -/
 355
 356#print axioms induced_pentA_eq
 357#print axioms induced_pentB_eq
 358#print axioms induced_pentC_eq
 359#print axioms shared_face_consistency
 360#print axioms threePent_lorentzian_cm4_neg
 361#print axioms threePent_euclidean_admissible
 362#print axioms threePent_causal_assignment
 363#print axioms physical_point_regular
 364
 365end
 366
 367end ThreePentCausalConsistency
 368end SevenGaps
 369end Gravity
 370end IndisputableMonolith
 371

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