pith. machine review for the scientific record. sign in

IndisputableMonolith.ILG.ISWSign

IndisputableMonolith/ILG/ISWSign.lean · 78 lines · 4 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.ILG.Kernel
   3import IndisputableMonolith.ILG.GrowthODE
   4
   5namespace IndisputableMonolith
   6namespace ILG
   7
   8open Real
   9
  10/-!
  11# ISW Sign Proof
  12
  13This module formalizes the sign logic for the Integrated Sachs-Wolfe (ISW) driver
  14B(a,k). A positive driver B combined with a negative gravitational potential Phi
  15predicts a negative CMB-LSS cross-correlation at low multipoles.
  16
  17## References
  18- `Papers-tex/Gravity Set/Dark-Energy.tex`: "Because f > 1 and ∂lnw > 0 at late time,
  19  the bracket is positive while Phi < 0, yielding a negative CMB–galaxy correlation."
  20-/
  21
  22/-- The ISW driver B(a,k) = -1 + f + dlnw/dlna. -/
  23noncomputable def isw_driver (P : KernelParams) (k a : ℝ) : ℝ :=
  24  let f := f_growth_eds_ilg P k a
  25  let Xinv := a / (k * P.tau0)
  26  let dlnw := (P.alpha * P.C * Xinv ^ P.alpha) / (1 + P.C * Xinv ^ P.alpha)
  27  -1 + f + dlnw
  28
  29/-- Lemma: In ILG baseline, the growth rate f is greater than 1. -/
  30theorem f_growth_gt_one (P : KernelParams) (k a : ℝ) (ha : 0 < a) (hk : 0 < k)
  31    (halpha : 0 < P.alpha) (hC : 0 < P.C) :
  32    1 < f_growth_eds_ilg P k a := by
  33  set Xinv := a / (k * P.tau0)
  34  set B := growth_prefactor P.alpha P.C
  35  have hB : 0 < B := by
  36    unfold growth_prefactor
  37    apply div_pos
  38    · linarith
  39    · nlinarith
  40  have hXinv : 0 < Xinv := div_pos ha (mul_pos hk P.tau0_pos)
  41  have hXinv_pow : 0 < Xinv ^ P.alpha := rpow_pos_of_pos hXinv _
  42  unfold f_growth_eds_ilg
  43  -- f = (1 + B(1+alpha)X^alpha) / (1 + BX^alpha)
  44  -- 1 < (1 + BX^alpha + B*alpha*X^alpha) / (1 + BX^alpha)
  45  -- 1 < 1 + (B*alpha*X^alpha) / (1 + BX^alpha)
  46  field_simp
  47  apply lt_add_of_pos_right
  48  apply div_pos
  49  · repeat apply mul_pos <;> assumption
  50  · apply add_pos_of_pos_of_nonneg
  51    · exact one_pos
  52    · repeat apply mul_nonneg <;> (try exact le_of_lt hB) <;> (try exact le_of_lt hXinv_pow)
  53
  54/-- Lemma: In ILG baseline, the kernel log-derivative dlnw/dlna is positive. -/
  55theorem dlnw_pos (P : KernelParams) (k a : ℝ) (ha : 0 < a) (hk : 0 < k)
  56    (halpha : 0 < P.alpha) (hC : 0 < P.C) :
  57    0 < (P.alpha * P.C * (a / (k * P.tau0)) ^ P.alpha) / (1 + P.C * (a / (k * P.tau0)) ^ P.alpha) := by
  58  set Xinv := a / (k * P.tau0)
  59  have hXinv : 0 < Xinv := div_pos ha (mul_pos hk P.tau0_pos)
  60  have hXinv_pow : 0 < Xinv ^ P.alpha := rpow_pos_of_pos hXinv _
  61  apply div_pos
  62  · repeat apply mul_pos <;> assumption
  63  · apply add_pos_of_pos_of_nonneg
  64    · exact one_pos
  65    · repeat apply mul_nonneg <;> (try exact le_of_lt hC) <;> (try exact le_of_lt hXinv_pow)
  66
  67/-- Main Theorem (Target E): The ISW driver B(a,k) is strictly positive in ILG baseline. -/
  68theorem isw_driver_positive (P : KernelParams) (k a : ℝ) (ha : 0 < a) (hk : 0 < k)
  69    (halpha : 0 < P.alpha) (hC : 0 < P.C) :
  70    0 < isw_driver P k a := by
  71  unfold isw_driver
  72  have hf := f_growth_gt_one P k a ha hk halpha hC
  73  have hd := dlnw_pos P k a ha hk halpha hC
  74  linarith
  75
  76end ILG
  77end IndisputableMonolith
  78

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