Pith. sign in

IndisputableMonolith.Gravity.SevenGaps.WickActionInteriorHingeConfinement

IndisputableMonolith/Gravity/SevenGaps/WickActionInteriorHingeConfinement.lean · 262 lines · 25 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib.Analysis.SpecialFunctions.Arcosh
   2import Mathlib.Analysis.SpecialFunctions.Complex.Log
   3import Mathlib.Tactic.Linarith
   4import Mathlib.Tactic.LinearCombination
   5import Mathlib.Tactic.Ring
   6import Mathlib.Tactic.FieldSimp
   7import IndisputableMonolith.Gravity.SevenGaps.WickActionInteriorHinge
   8import IndisputableMonolith.Gravity.SevenGaps.WickThreeTwoHinges
   9
  10/-!
  11# Wave C4 N3+N4: Moebius confinement + Lorentzian cut-boundary value
  12
  13Fable design `D-gap6-r1-design-20260722`, session 2.
  14
  15* **N3** (α-family, causal range): Moebius collapse, MODEL path equality,
  16  `Im < 0` confinement, `branchRegularSum` field shape. CLOSED.
  17* **N4**: cut-boundary Tendsto resisted after honest effort (Mathlib
  18  one-sided log/csqrt filter API). Design-authorized fallback: named Props
  19  `carccos_tendsto_at_cut_one` / `lorentzAnchor_one` / family Prop left open;
  20  decoy `lorentz_endpoint_not_real` and `rapidityPinned_one` CLOSED.
  21  Re-scopes R5 toward the sharper-blocker packaging path if the limit stays open.
  22
  23Does **not** inhabit the terminal, flip gap6, or touch Schläfli.
  24-/
  25
  26namespace IndisputableMonolith
  27namespace Gravity
  28namespace SevenGaps
  29namespace WickActionInteriorHinge
  30
  31open Complex
  32open Filter Topology
  33open CausalSimplex4D
  34open WickActionComplexFirst
  35open WickThreeTwoHinges
  36
  37noncomputable section
  38
  39/-! ## §N3a. Arc lemmas -/
  40
  41theorem continuationEdgesC_threeTwo (α t : ℝ) :
  42    continuationEdgesC CausalPentType.threeTwo 1 α t =
  43      hingeEdges32C (arcZ 1 α t) := by
  44  funext e
  45  unfold continuationEdgesC hingeEdges32C
  46  by_cases h : isTimelike CausalPentType.threeTwo e = true
  47  · rw [if_pos h, if_pos h]
  48  · rw [if_neg h, if_neg h]
  49    norm_num
  50
  51theorem normSq_arcZ_one (α t : ℝ) :
  52    Complex.normSq (arcZ 1 α t) = α ^ 2 := by
  53  unfold arcZ
  54  simp only [pow_two, mul_one]
  55  have hexp :
  56      Complex.normSq (Complex.exp (((Real.pi * (1 - t) : ℝ) : ℂ) * I)) = 1 := by
  57    have hre := Complex.exp_ofReal_mul_I_re (Real.pi * (1 - t))
  58    have him := Complex.exp_ofReal_mul_I_im (Real.pi * (1 - t))
  59    rw [Complex.normSq_apply, hre, him, ← pow_two, ← pow_two]
  60    exact Real.cos_sq_add_sin_sq (Real.pi * (1 - t))
  61  rw [Complex.normSq_mul, hexp, mul_one, Complex.normSq_ofReal]
  62
  63theorem denom_ne_of_causal {α : ℝ} (hα : (7 / 12 : ℝ) < α) (t : ℝ) :
  64    6 * arcZ 1 α t - 2 ≠ 0 := by
  65  intro h
  66  have hpos : 0 < α := lt_trans (by norm_num : (0 : ℝ) < 7 / 12) hα
  67  have h6 : (6 : ℂ) * arcZ 1 α t = 2 := by linear_combination h
  68  have hns :
  69      Complex.normSq ((6 : ℂ) * arcZ 1 α t) = Complex.normSq (2 : ℂ) := by
  70    rw [h6]
  71  rw [Complex.normSq_mul, normSq_arcZ_one, Complex.normSq_ofNat,
  72    Complex.normSq_ofNat] at hns
  73  have hα2 : α ^ 2 = (1 / 9 : ℝ) := by
  74    have : (36 : ℝ) * α ^ 2 = 4 := by convert hns using 1 <;> ring
  75    nlinarith
  76  have hgt : (1 / 9 : ℝ) < α ^ 2 := by
  77    have h13 : (1 / 3 : ℝ) < α :=
  78      lt_trans (by norm_num : (1 / 3 : ℝ) < 7 / 12) hα
  79    nlinarith [mul_self_lt_mul_self (by norm_num : (0 : ℝ) ≤ 1 / 3) h13]
  80  exact absurd hα2 (ne_of_gt hgt)
  81
  82theorem arcZ_im_eq (α t : ℝ) :
  83    (arcZ 1 α t).im = α * Real.sin (Real.pi * (1 - t)) := by
  84  unfold arcZ
  85  simp only [pow_two, mul_one]
  86  rw [mul_im, ofReal_re, ofReal_im, Complex.exp_ofReal_mul_I_im,
  87    Complex.exp_ofReal_mul_I_re]
  88  ring
  89
  90theorem arcZ_im_pos_of_causal {α t : ℝ} (hα : (7 / 12 : ℝ) < α)
  91    (ht : t ∈ Set.Ioo (0 : ℝ) 1) : 0 < (arcZ 1 α t).im := by
  92  have hpos : 0 < α := lt_trans (by norm_num : (0 : ℝ) < 7 / 12) hα
  93  rw [arcZ_im_eq]
  94  refine mul_pos hpos ?_
  95  apply Real.sin_pos_of_pos_of_lt_pi
  96  · exact mul_pos Real.pi_pos (by linarith [ht.2])
  97  · calc Real.pi * (1 - t) < Real.pi * 1 :=
  98        mul_lt_mul_of_pos_left (by linarith [ht.1]) Real.pi_pos
  99    _ = Real.pi := mul_one _
 100
 101/-! ## §N3b. Moebius + MODEL path equality -/
 102
 103theorem pentHingeCosPath_eq_moebius {α : ℝ} (hα : (7 / 12 : ℝ) < α)
 104    (t : ℝ) :
 105    pentHingeCosPath α t =
 106      (5 - 6 * arcZ 1 α t) / (6 * arcZ 1 α t - 2) := by
 107  unfold pentHingeCosPath dihedralCosSplitC dihedralDenomSplitC
 108  rw [continuationEdgesC_threeTwo]
 109  have hv3 : cmVertexIndexC 3 = 4 := rfl
 110  have hv4 : cmVertexIndexC 4 = 5 := rfl
 111  rw [hv3, hv4, cof32_d4, cof32_d5, cof32_45,
 112    csqrt_mul_self (denom_ne_of_causal hα t)]
 113
 114theorem pentHingeCosPath_eq_moebius_one (t : ℝ) :
 115    pentHingeCosPath 1 t = (5 - 6 * zArc t) / (6 * zArc t - 2) := by
 116  simpa [zArc] using
 117    pentHingeCosPath_eq_moebius (by norm_num : (7 / 12 : ℝ) < 1) t
 118
 119theorem pentHingeCosPath_one_eq_threeTwo :
 120    pentHingeCosPath 1 = threeTwoCosPath 3 4 := rfl
 121
 122theorem euclidCos_one : euclidCos 1 = -(1 / 4) := by
 123  unfold euclidCos; norm_num
 124
 125theorem lorentzCos_one : lorentzCos 1 = -(11 / 8) := by
 126  unfold lorentzCos; norm_num
 127
 128theorem pentHingeCosPath_eq_euclidCos {α : ℝ} (hα : (7 / 12 : ℝ) < α) :
 129    pentHingeCosPath α 1 = ((euclidCos α : ℝ) : ℂ) := by
 130  rw [pentHingeCosPath_eq_moebius hα, arcZ_one, euclidCos]
 131  simp [ofReal_div, ofReal_sub, ofReal_mul, ofReal_ofNat]
 132
 133theorem pentHingeCosPath_eq_lorentzCos {α : ℝ} (hα : (7 / 12 : ℝ) < α) :
 134    pentHingeCosPath α 0 = ((lorentzCos α : ℝ) : ℂ) := by
 135  rw [pentHingeCosPath_eq_moebius hα, arcZ_zero]
 136  have hreal :
 137      ((5 - 6 * (-α)) / (6 * (-α) - 2) : ℝ) = lorentzCos α := by
 138    unfold lorentzCos
 139    have h1 : (5 - 6 * (-α) : ℝ) = 5 + 6 * α := by ring
 140    have h2 : (6 * (-α) - 2 : ℝ) = -(2 + 6 * α) := by ring
 141    rw [h1, h2, div_neg]
 142  simp only [pow_two, mul_one]
 143  -- `(5 - 6 * ↑(-α)) / ... = ↑((5 - 6 * (-α)) / ...)` by ofReal homomorphism
 144  have hcast :
 145      (5 - 6 * ((-α : ℝ) : ℂ)) / (6 * ((-α : ℝ) : ℂ) - 2) =
 146        ((((5 - 6 * (-α)) / (6 * (-α) - 2)) : ℝ) : ℂ) := by
 147    norm_cast
 148  rw [hcast, hreal]
 149
 150theorem pentHingeCosPath_one_zero :
 151    pentHingeCosPath 1 0 = ((lorentzCos 1 : ℝ) : ℂ) :=
 152  pentHingeCosPath_eq_lorentzCos (by norm_num)
 153
 154theorem pentHingeCosPath_one_one :
 155    pentHingeCosPath 1 1 = ((euclidCos 1 : ℝ) : ℂ) :=
 156  pentHingeCosPath_eq_euclidCos (by norm_num)
 157
 158/-! ## §N3c. Half-plane confinement -/
 159
 160theorem im_pentHingeCosPath_eq {α : ℝ} (hα : (7 / 12 : ℝ) < α) (t : ℝ) :
 161    (pentHingeCosPath α t).im =
 162      (-18 * (arcZ 1 α t).im) / Complex.normSq (6 * arcZ 1 α t - 2) := by
 163  rw [pentHingeCosPath_eq_moebius hα]
 164  have hnum :
 165      (5 - 6 * arcZ 1 α t).im * (6 * arcZ 1 α t - 2).re -
 166        (5 - 6 * arcZ 1 α t).re * (6 * arcZ 1 α t - 2).im =
 167        -18 * (arcZ 1 α t).im := by
 168    simp only [sub_im, sub_re, mul_im, mul_re, re_ofNat, im_ofNat]
 169    ring
 170  rw [div_im, div_sub_div_same, hnum]
 171
 172theorem im_pentHingeCosPath_neg {α : ℝ} (hα : (7 / 12 : ℝ) < α)
 173    {t : ℝ} (ht : t ∈ Set.Ioo (0 : ℝ) 1) :
 174    (pentHingeCosPath α t).im < 0 := by
 175  rw [im_pentHingeCosPath_eq hα]
 176  have hy : 0 < (arcZ 1 α t).im := arcZ_im_pos_of_causal hα ht
 177  exact div_neg_of_neg_of_pos
 178    (mul_neg_of_neg_of_pos (by norm_num) hy)
 179    (Complex.normSq_pos.mpr (denom_ne_of_causal hα t))
 180
 181theorem im_pentHingeCosPath_neg_one {t : ℝ} (ht : t ∈ Set.Ioo (0 : ℝ) 1) :
 182    (pentHingeCosPath 1 t).im < 0 :=
 183  im_pentHingeCosPath_neg (by norm_num) ht
 184
 185/-! ## §N3d. branchRegularSum field shape -/
 186
 187theorem branchRegularSum_of_causal {α : ℝ} (hα : (7 / 12 : ℝ) < α) :
 188    ∀ t ∈ Set.Ioo (0 : ℝ) 1,
 189      OffArccosCut (pentHingeCosPath α t) ∧
 190        (1 - pentHingeCosPath α t ^ 2) ∈ slitPlane ∧
 191          (pentHingeCosPath α t + I * csqrt (1 - pentHingeCosPath α t ^ 2)) ∈
 192            slitPlane := by
 193  intro t ht
 194  have hoff : OffArccosCut (pentHingeCosPath α t) :=
 195    Or.inl (im_pentHingeCosPath_neg hα ht).ne
 196  exact ⟨hoff, offArccosCut_slitPlane _ hoff⟩
 197
 198theorem branchRegularSum_one :
 199    ∀ t ∈ Set.Ioo (0 : ℝ) 1,
 200      OffArccosCut (pentHingeCosPath 1 t) ∧
 201        (1 - pentHingeCosPath 1 t ^ 2) ∈ slitPlane ∧
 202          (pentHingeCosPath 1 t + I * csqrt (1 - pentHingeCosPath 1 t ^ 2)) ∈
 203            slitPlane :=
 204  branchRegularSum_of_causal (by norm_num)
 205
 206/-! ## §N4. Cut-boundary fallback (named Props) + closed decoy/rapidity -/
 207
 208/-- N4 missing limit at `α = 1` (design fallback: precisely-stated Prop). -/
 209def carccos_tendsto_at_cut_one : Prop :=
 210  Tendsto (fun t => carccos (pentHingeCosPath 1 t))
 211    (nhdsWithin (0 : ℝ) (Set.Ioi 0))
 212    (nhds ((↑(lorentzAngleRe 1) : ℂ) + I * ↑(lorentzRapidity 1)))
 213
 214/-- Family cut-boundary Prop (open; scope reduction). -/
 215def carccos_tendsto_at_cut_family : Prop :=
 216  ∀ α : ℝ, (7 / 12 : ℝ) < α →
 217    Tendsto (fun t => carccos (pentHingeCosPath α t))
 218      (nhdsWithin (0 : ℝ) (Set.Ioi 0))
 219      (nhds ((↑(lorentzAngleRe α) : ℂ) + I * ↑(lorentzRapidity α)))
 220
 221/-- `lorentzAnchor` field shape at `α = 1` (open; depends on cut Tendsto). -/
 222def lorentzAnchor_one : Prop :=
 223  Tendsto (wickActionPath 1) (nhdsWithin (0 : ℝ) (Set.Ioi 0))
 224    (nhds
 225      (((hingeArea * (2 * Real.pi - 3 * lorentzAngleRe 1) : ℝ) : ℂ) -
 226        I * ((hingeArea * (3 * lorentzRapidity 1) : ℝ) : ℂ)))
 227
 228theorem rapidityPinned_one : lorentzRapidity 1 ≠ 0 := by
 229  unfold lorentzRapidity
 230  rw [lorentzCos_one, abs_neg, abs_of_nonneg (by norm_num : (0 : ℝ) ≤ 11 / 8)]
 231  exact (Real.arcosh_pos (by norm_num : (1 : ℝ) < 11 / 8)).ne'
 232
 233theorem lorentz_endpoint_im_eq :
 234    (((hingeArea * (2 * Real.pi - 3 * lorentzAngleRe 1) : ℝ) : ℂ) -
 235        I * ((hingeArea * (3 * lorentzRapidity 1) : ℝ) : ℂ)).im =
 236      -(3 * hingeArea * lorentzRapidity 1) := by
 237  simp [sub_im, mul_im, I_re, I_im]
 238  ring
 239
 240/-- Decoy falsifier: Lorentzian endpoint action imaginary part nonzero. -/
 241theorem lorentz_endpoint_not_real :
 242    (((hingeArea * (2 * Real.pi - 3 * lorentzAngleRe 1) : ℝ) : ℂ) -
 243        I * ((hingeArea * (3 * lorentzRapidity 1) : ℝ) : ℂ)).im ≠ 0 := by
 244  rw [lorentz_endpoint_im_eq]
 245  have hA : 0 < hingeArea :=
 246    Real.sqrt_pos.mpr (by norm_num : (0 : ℝ) < 3 / 16)
 247  have hR : 0 < lorentzRapidity 1 := by
 248    unfold lorentzRapidity
 249    rw [lorentzCos_one, abs_neg, abs_of_nonneg (by norm_num : (0 : ℝ) ≤ 11 / 8)]
 250    exact Real.arcosh_pos (by norm_num : (1 : ℝ) < 11 / 8)
 251  have hpos : 0 < 3 * hingeArea * lorentzRapidity 1 :=
 252    mul_pos (mul_pos (by norm_num : (0 : ℝ) < 3) hA) hR
 253  exact neg_ne_zero.mpr hpos.ne'
 254
 255
 256end
 257
 258end WickActionInteriorHinge
 259end SevenGaps
 260end Gravity
 261end IndisputableMonolith
 262

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