Pith. sign in

IndisputableMonolith.Relativity.Cosmology.FRWComponentsProbe

IndisputableMonolith/Relativity/Cosmology/FRWComponentsProbe.lean · 87 lines · 6 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2
   3/-!
   4# FRW Componentwise Probe (panel-prescribed tractability test)
   5
   6Standalone probe, per the cosmo-chain panel verdict (2026-07-02): before locking
   7the full two-layer Friedmann skeleton, verify that the componentwise `Fin 4`
   8encoding of flat-FRW geometry is convergence-free differential algebra that
   9`simp` + `deriv` lemmas can actually discharge.
  10
  11Encoding: homogeneous flat FRW, k = 0, c = 1. Every field depends only on
  12cosmic time `t`, so spatial partials vanish identically and `∂₀ = deriv`.
  13
  14Probe goals:
  15* `Γ⁰ᵢᵢ = a·ȧ`  (the panel's named first probe)
  16* `Γⁱ₀ᵢ = ȧ/a`
  17
  18If these close, the full skeleton (Ricci, Einstein tensor, Friedmann I/II from a
  19named `EinsteinEqns` Prop) gets locked as loop targets. If they stall, re-encode
  20before locking anything.
  21-/
  22
  23namespace IndisputableMonolith
  24namespace Relativity
  25namespace Cosmology
  26namespace FRWComponentsProbe
  27
  28open Real
  29
  30/-- Flat FRW metric components (diagonal): `g₀₀ = -1`, `gᵢᵢ = a(t)²`. -/
  31noncomputable def gMetric (a : ℝ → ℝ) (μ ν : Fin 4) : ℝ → ℝ :=
  32  fun t => if μ = ν then (if μ = 0 then -1 else (a t) ^ 2) else 0
  33
  34/-- Inverse metric components (diagonal): `g⁰⁰ = -1`, `gⁱⁱ = 1/a(t)²`. -/
  35noncomputable def gInv (a : ℝ → ℝ) (μ ν : Fin 4) : ℝ → ℝ :=
  36  fun t => if μ = ν then (if μ = 0 then -1 else 1 / (a t) ^ 2) else 0
  37
  38/-- Coordinate partial derivative: `∂₀ = d/dt`, spatial partials vanish
  39(homogeneity). -/
  40noncomputable def pd (μ : Fin 4) (f : ℝ → ℝ) : ℝ → ℝ :=
  41  if μ = 0 then deriv f else 0
  42
  43/-- Christoffel symbols of the second kind,
  44`Γ^λ_{μν} = ½ Σ_σ g^{λσ} (∂_μ g_{νσ} + ∂_ν g_{μσ} − ∂_σ g_{μν})`. -/
  45noncomputable def Γ (a : ℝ → ℝ) (l m n : Fin 4) : ℝ → ℝ :=
  46  fun t => (1 / 2) * ∑ σ : Fin 4,
  47    gInv a l σ t *
  48      (pd m (gMetric a n σ) t + pd n (gMetric a m σ) t - pd σ (gMetric a m n) t)
  49
  50/-- The spatial metric component is `a²` (as a function). -/
  51@[simp] lemma gMetric_spatial (a : ℝ → ℝ) (i : Fin 4) (hi : i ≠ 0) :
  52    gMetric a i i = fun t => (a t) ^ 2 := by
  53  funext t; simp [gMetric, hi]
  54
  55/-- Off-diagonal metric components vanish. -/
  56@[simp] lemma gMetric_offdiag (a : ℝ → ℝ) {μ ν : Fin 4} (h : μ ≠ ν) :
  57    gMetric a μ ν = fun _ => 0 := by
  58  funext t; simp [gMetric, h]
  59
  60/-- Time derivative of `a²`: `d(a²)/dt = 2·a·ȧ` (stated in the lambda form the
  61metric simp lemma produces, so it chains in `simp`). -/
  62lemma deriv_a_sq (a : ℝ → ℝ) (ha : Differentiable ℝ a) (t : ℝ) :
  63    deriv (fun t => (a t) ^ 2) t = 2 * a t * deriv a t := by
  64  rw [show (fun t => (a t) ^ 2) = (fun x : ℝ => x ^ 2) ∘ a from rfl]
  65  rw [deriv_comp t (differentiable_pow 2).differentiableAt (ha t)]
  66  simp
  67
  68/-- **Probe 1**: `Γ⁰₁₁ = a·ȧ`. -/
  69theorem Γ_0_11 (a : ℝ → ℝ) (ha : Differentiable ℝ a) (t : ℝ) :
  70    Γ a 0 1 1 t = a t * deriv a t := by
  71  simp [Γ, gInv, pd, Fin.sum_univ_four, deriv_a_sq a ha]
  72  ring
  73
  74/-- **Probe 2**: `Γ¹₀₁ = ȧ·a / a²` (no division-by-zero commitment). -/
  75theorem Γ_1_01 (a : ℝ → ℝ) (ha : Differentiable ℝ a) (t : ℝ) :
  76    Γ a 1 0 1 t = deriv a t * a t / (a t) ^ 2 := by
  77  simp [Γ, gInv, pd, Fin.sum_univ_four, deriv_a_sq a ha,
  78        gMetric_offdiag a (show (1 : Fin 4) ≠ 2 by decide),
  79        gMetric_offdiag a (show (1 : Fin 4) ≠ 3 by decide),
  80        gMetric_offdiag a (show (0 : Fin 4) ≠ 1 by decide)]
  81  ring
  82
  83end FRWComponentsProbe
  84end Cosmology
  85end Relativity
  86end IndisputableMonolith
  87

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