pith. machine review for the scientific record. sign in

IndisputableMonolith.Cosmology.BITKernelFamilies

IndisputableMonolith/Cosmology/BITKernelFamilies.lean · 123 lines · 14 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# BIT Kernel Families for w(z) Forecasting
   6
   7Three kernel-family models for the BIT cosmic-Z-aging amplitude
   8`δw(z) = δw_0 · K(z)`:
   9
  10  K1: K(z) = 1                 (constant)
  11  K2: K(z) = 1 / (1 + z)       (canonical RS arc-11 kernel)
  12  K3: K(z) = exp(-z / z_0)     (exponential)
  13
  14Each kernel is bounded in `[0, 1]` on `z ≥ 0`, and the maximum
  15amplitude `δw_0 ∈ [0, J(φ)]` from the BIT theorem (§XXIV).
  16
  17Used by `scripts/analysis/desi_y3_wz_forecast.py` for the DESI Y3
  18forecast.
  19-/
  20
  21namespace IndisputableMonolith
  22namespace Cosmology
  23namespace BITKernelFamilies
  24
  25open IndisputableMonolith.Constants
  26
  27noncomputable section
  28
  29/-- Kernel family tag. -/
  30inductive KernelFamily where
  31  | constant_kernel
  32  | inv_one_plus_z
  33  | exponential
  34  deriving DecidableEq, Inhabited
  35
  36namespace KernelFamily
  37
  38def name : KernelFamily → String
  39  | constant_kernel  => "K1 (constant)"
  40  | inv_one_plus_z   => "K2 (1/(1+z))"
  41  | exponential      => "K3 (exp(-z/z0))"
  42
  43end KernelFamily
  44
  45/-- The BIT kernel function. -/
  46def kernel (k : KernelFamily) (z : ℝ) (z0 : ℝ := 1) : ℝ :=
  47  match k with
  48  | KernelFamily.constant_kernel  => 1
  49  | KernelFamily.inv_one_plus_z   => 1 / (1 + z)
  50  | KernelFamily.exponential      => Real.exp (- z / z0)
  51
  52/-- All three kernels equal 1 at `z = 0`. -/
  53theorem kernel_at_zero (k : KernelFamily) (z0 : ℝ) :
  54    kernel k 0 z0 = 1 := by
  55  cases k <;> simp [kernel]
  56
  57/-- The constant kernel is `1` everywhere. -/
  58theorem constant_kernel_eq_one (z z0 : ℝ) :
  59    kernel KernelFamily.constant_kernel z z0 = 1 := rfl
  60
  61/-- The 1/(1+z) kernel is positive for `z > -1`. -/
  62theorem inv_one_plus_z_pos (z : ℝ) (h : -1 < z) (z0 : ℝ) :
  63    0 < kernel KernelFamily.inv_one_plus_z z z0 := by
  64  unfold kernel
  65  exact div_pos one_pos (by linarith)
  66
  67/-- The exponential kernel is positive everywhere. -/
  68theorem exp_kernel_pos (z z0 : ℝ) :
  69    0 < kernel KernelFamily.exponential z z0 := by
  70  unfold kernel
  71  exact Real.exp_pos _
  72
  73/-- The maximum BIT amplitude is `J(φ) = φ - 3/2 ≈ 0.118`. -/
  74def delta_w0_max : ℝ := phi - 3 / 2
  75
  76theorem delta_w0_max_pos : 0 < delta_w0_max := by
  77  unfold delta_w0_max
  78  have := phi_gt_onePointFive
  79  linarith
  80
  81theorem delta_w0_max_lt_one : delta_w0_max < 1 := by
  82  unfold delta_w0_max
  83  have := phi_lt_two
  84  linarith
  85
  86/-- The effective equation of state under BIT. -/
  87def w_eff (k : KernelFamily) (z delta_w0 : ℝ) (z0 : ℝ := 1) : ℝ :=
  88  -1 + delta_w0 * kernel k z z0
  89
  90/-- At `z = 0`, `w_eff = -1 + δw_0` for any kernel. -/
  91theorem w_eff_at_zero (k : KernelFamily) (delta_w0 z0 : ℝ) :
  92    w_eff k 0 delta_w0 z0 = -1 + delta_w0 := by
  93  unfold w_eff
  94  rw [kernel_at_zero]
  95  ring
  96
  97/-! ## Master certificate -/
  98
  99/-- **BIT KERNEL FAMILIES MASTER CERTIFICATE.** -/
 100structure BITKernelFamiliesCert where
 101  kernel_at_zero_one :
 102    ∀ k : KernelFamily, ∀ z0 : ℝ, kernel k 0 z0 = 1
 103  delta_w0_max_pos :
 104    0 < delta_w0_max
 105  delta_w0_max_lt_one :
 106    delta_w0_max < 1
 107  w_eff_at_zero :
 108    ∀ k : KernelFamily, ∀ (delta_w0 z0 : ℝ),
 109      w_eff k 0 delta_w0 z0 = -1 + delta_w0
 110
 111/-- The master certificate is inhabited. -/
 112def bitKernelFamiliesCert : BITKernelFamiliesCert where
 113  kernel_at_zero_one := kernel_at_zero
 114  delta_w0_max_pos := delta_w0_max_pos
 115  delta_w0_max_lt_one := delta_w0_max_lt_one
 116  w_eff_at_zero := w_eff_at_zero
 117
 118end
 119
 120end BITKernelFamilies
 121end Cosmology
 122end IndisputableMonolith
 123

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