Pith. sign in

IndisputableMonolith.Relativity.Geometry.LocalRaychaudhuriReduction

IndisputableMonolith/Relativity/Geometry/LocalRaychaudhuriReduction.lean · 172 lines · 9 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib.Analysis.Calculus.Deriv.Basic
   2import Mathlib.Tactic.Ring
   3import Mathlib.Tactic.NormNum
   4import Mathlib.Tactic.Linarith
   5
   6/-!
   7# Local Raychaudhuri equilibrium reduction
   8
   9This module records the scalar 4D null-congruence slope and proves the
  10local-equilibrium algebraic reduction of that slope under an explicit
  11differential-law MODEL.
  12
  13Honesty tags:
  14
  15* `LocalRaychaudhuriData.law` is an explicit MODEL interface (the twist-free
  16  null-horizon Raychaudhuri ODE for the scalar expansion);
  17* zero initial expansion and shear are equilibrium hypotheses, not derived
  18  geometric facts;
  19* this module does **not** introduce a metric, null vector, Ricci tensor,
  20  area element, ledger, stress, Unruh, all-null equality, EFE, or C-gap1 claim.
  21
  22What is proved: conditional on the MODEL law, the general initial slope at
  23`λ = 0`, and under `expansion 0 = 0` with `shearSq 0 = 0`, the initial
  24expansion derivative equals `-ricciNull 0`. Arithmetic decoys show each
  25equilibrium premise is load-bearing.
  26-/
  27
  28noncomputable section
  29
  30namespace IndisputableMonolith
  31namespace Relativity
  32namespace Geometry
  33namespace LocalRaychaudhuriReduction
  34
  35/--
  36Scalar right-hand side of the 4D null Raychaudhuri law for expansion `θ`,
  37shear-squared `σ²`, and Ricci null contraction `R_{ab}k^a k^b`:
  38
  39`dθ/dλ = -½ θ² - σ² - R_{ab}k^a k^b`.
  40
  41The three arguments are treated as real scalars; no spacetime geometry is
  42imported.
  43-/
  44def raychaudhuriSlope (theta shearSq ricciNull : ℝ) : ℝ :=
  45  -(1 / 2) * theta ^ 2 - shearSq - ricciNull
  46
  47/--
  48Local scalar Raychaudhuri data along an affine parameter. The differential law
  49is an explicit MODEL premise and is not claimed derived.
  50-/
  51structure LocalRaychaudhuriData where
  52  expansion : ℝ → ℝ
  53  shearSq : ℝ → ℝ
  54  ricciNull : ℝ → ℝ
  55  /-- MODEL: expansion obeys the twist-free null-horizon Raychaudhuri ODE. -/
  56  law :
  57    ∀ lambda : ℝ,
  58      HasDerivAt expansion
  59        (raychaudhuriSlope (expansion lambda) (shearSq lambda) (ricciNull lambda))
  60        lambda
  61
  62/--
  63General initial slope: the MODEL law specializes at `λ = 0` to the
  64Raychaudhuri right-hand side evaluated on the initial data.
  65-/
  66theorem hasDerivAt_expansion_zero (D : LocalRaychaudhuriData) :
  67    HasDerivAt D.expansion
  68      (raychaudhuriSlope (D.expansion 0) (D.shearSq 0) (D.ricciNull 0)) 0 :=
  69  D.law 0
  70
  71/--
  72Under local equilibrium `θ(0) = 0` and `σ²(0) = 0`, the MODEL law reduces to
  73`HasDerivAt expansion (-ricciNull 0) 0`.
  74-/
  75theorem hasDerivAt_expansion_eq_neg_ricciNull
  76    (D : LocalRaychaudhuriData)
  77    (hθ : D.expansion 0 = 0) (hσ : D.shearSq 0 = 0) :
  78    HasDerivAt D.expansion (-D.ricciNull 0) 0 := by
  79  have h := hasDerivAt_expansion_zero D
  80  have hslope :
  81      raychaudhuriSlope (D.expansion 0) (D.shearSq 0) (D.ricciNull 0) =
  82        -D.ricciNull 0 := by
  83    simp only [raychaudhuriSlope, hθ, hσ]
  84    ring
  85  exact h.congr_deriv hslope
  86
  87/--
  88Pointwise derivative form of the equilibrium reduction.
  89-/
  90theorem deriv_expansion_zero_eq_neg_ricciNull
  91    (D : LocalRaychaudhuriData)
  92    (hθ : D.expansion 0 = 0) (hσ : D.shearSq 0 = 0) :
  93    deriv D.expansion 0 = -D.ricciNull 0 :=
  94  (hasDerivAt_expansion_eq_neg_ricciNull D hθ hσ).deriv
  95
  96/--
  97Decoy: nonzero initial expansion with zero shear makes the Raychaudhuri
  98slope differ from `-ricciNull`. Explicit rationals `θ = 2`, `σ² = 0`, `R = 1`
  99give slope `-3 ≠ -1`.
 100-/
 101theorem decoy_nonzero_expansion_slope_ne_neg_ricciNull :
 102    raychaudhuriSlope (2 : ℝ) 0 1 ≠ -(1 : ℝ) := by
 103  have hslope : raychaudhuriSlope (2 : ℝ) 0 1 = -3 := by
 104    simp only [raychaudhuriSlope]
 105    norm_num
 106  rw [hslope]
 107  norm_num
 108
 109/--
 110Decoy: zero initial expansion with nonzero shear likewise makes the full slope
 111differ from `-ricciNull`. Explicit rationals `θ = 0`, `σ² = 1`, `R = 1`
 112give slope `-2 ≠ -1`.
 113-/
 114theorem decoy_nonzero_shear_slope_ne_neg_ricciNull :
 115    raychaudhuriSlope (0 : ℝ) 1 1 ≠ -(1 : ℝ) := by
 116  have hslope : raychaudhuriSlope (0 : ℝ) 1 1 = -2 := by
 117    simp only [raychaudhuriSlope]
 118    norm_num
 119  rw [hslope]
 120  norm_num
 121
 122/--
 123General arithmetic form of the expansion decoy: any nonzero `θ` with zero shear
 124moves the slope away from `-R`.
 125-/
 126theorem raychaudhuriSlope_ne_neg_ricciNull_of_nonzero_expansion
 127    {theta shearSq ricciNull : ℝ}
 128    (hθ : theta ≠ 0) (hσ : shearSq = 0) :
 129    raychaudhuriSlope theta shearSq ricciNull ≠ -ricciNull := by
 130  intro h
 131  have hslope :
 132      raychaudhuriSlope theta shearSq ricciNull =
 133        -(1 / 2) * theta ^ 2 - ricciNull := by
 134    simp only [raychaudhuriSlope, hσ]
 135    ring
 136  have hred : -(1 / 2) * theta ^ 2 - ricciNull = -ricciNull := by
 137    simpa [hslope] using h
 138  have hsq : -(1 / 2) * theta ^ 2 = 0 := by
 139    linarith
 140  have hhalf : (1 / 2 : ℝ) ≠ 0 := by norm_num
 141  have hneg : -((1 / 2 : ℝ) * theta ^ 2) = 0 := by
 142    simpa [neg_mul] using hsq
 143  have hprod : (1 / 2 : ℝ) * theta ^ 2 = 0 := by
 144    linarith
 145  have hpow : theta ^ 2 = 0 :=
 146    (mul_eq_zero.mp hprod).resolve_left hhalf
 147  exact hθ (sq_eq_zero_iff.mp hpow)
 148
 149/--
 150General arithmetic form of the shear decoy: any nonzero shear-squared with zero
 151expansion moves the slope away from `-R`.
 152-/
 153theorem raychaudhuriSlope_ne_neg_ricciNull_of_nonzero_shear
 154    {theta shearSq ricciNull : ℝ}
 155    (hθ : theta = 0) (hσ : shearSq ≠ 0) :
 156    raychaudhuriSlope theta shearSq ricciNull ≠ -ricciNull := by
 157  intro h
 158  have hslope :
 159      raychaudhuriSlope theta shearSq ricciNull =
 160        -shearSq - ricciNull := by
 161    simp only [raychaudhuriSlope, hθ]
 162    ring
 163  have hred : -shearSq - ricciNull = -ricciNull := by
 164    simpa [hslope] using h
 165  have : -shearSq = 0 := by linarith
 166  exact hσ (neg_eq_zero.mp this)
 167
 168end LocalRaychaudhuriReduction
 169end Geometry
 170end Relativity
 171end IndisputableMonolith
 172

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