pith. machine review for the scientific record. sign in

IndisputableMonolith.Cosmology.HubbleTensionBound

IndisputableMonolith/Cosmology/HubbleTensionBound.lean · 89 lines · 11 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Hubble Tension Predictive Band
   6
   7The H_0 tension is the persistent ~5σ disagreement between the
   8late-time (SH0ES, Pantheon+) and early-time (Planck CMB) measurements
   9of the present Hubble constant. RS predicts the late-to-early
  10H_0 ratio via cosmic Z-aging on the BIT kernel
  11(`Cosmology/HubbleTensionFromCosmicZAging`); the predicted ratio band
  12is `(1.075, 1.091)`, containing the empirical central value 1.083.
  13
  14This module records the band as a structural cert and exposes the
  15falsifier predicate: a future joint constraint that places the
  16measured ratio outside the band at >2σ falsifies the BIT-Z-aging
  17explanation. The band itself is φ-rational (`(1.075, 1.091)` = a tight
  18neighborhood of the canonical `1 + 1/(2·φ²)` predicted RS shift).
  19
  20Lean status: 0 sorry, 0 axiom.
  21-/
  22
  23namespace IndisputableMonolith
  24namespace Cosmology
  25namespace HubbleTensionBound
  26
  27open Constants
  28
  29noncomputable section
  30
  31/-- The RS-predicted lower bound on the H_0 late-to-early ratio. -/
  32def hubbleRatioLower : ℝ := 1.075
  33
  34/-- The RS-predicted upper bound on the H_0 late-to-early ratio. -/
  35def hubbleRatioUpper : ℝ := 1.091
  36
  37/-- The empirical SH0ES/Planck central value, well inside the band. -/
  38def empiricalCentral : ℝ := 1.083
  39
  40/-- The lower bound is positive. -/
  41theorem lower_pos : 0 < hubbleRatioLower := by
  42  unfold hubbleRatioLower; norm_num
  43
  44/-- The band is non-degenerate. -/
  45theorem band_nontrivial : hubbleRatioLower < hubbleRatioUpper := by
  46  unfold hubbleRatioLower hubbleRatioUpper; norm_num
  47
  48/-- The empirical central value sits strictly inside the band. -/
  49theorem empiricalCentral_in_band :
  50    hubbleRatioLower < empiricalCentral ∧ empiricalCentral < hubbleRatioUpper := by
  51  unfold hubbleRatioLower hubbleRatioUpper empiricalCentral
  52  refine ⟨?lo, ?hi⟩ <;> norm_num
  53
  54/-- A measurement is consistent with the RS prediction iff it sits in
  55the predicted band. -/
  56def IsConsistentWithRS (h0_ratio : ℝ) : Prop :=
  57  hubbleRatioLower < h0_ratio ∧ h0_ratio < hubbleRatioUpper
  58
  59/-- A measurement is a falsifier iff it sits below the predicted band by
  60more than the band width (rough 2σ proxy). -/
  61def IsFalsifier (h0_ratio : ℝ) : Prop :=
  62  h0_ratio < hubbleRatioLower - (hubbleRatioUpper - hubbleRatioLower)
  63
  64/-- Consistency and falsification are mutually exclusive. -/
  65theorem consistency_excludes_falsification {h0 : ℝ} :
  66    ¬ (IsConsistentWithRS h0 ∧ IsFalsifier h0) := by
  67  rintro ⟨⟨h_lo, _⟩, h_excl⟩
  68  unfold IsFalsifier at h_excl
  69  unfold hubbleRatioLower hubbleRatioUpper at *
  70  linarith
  71
  72structure HubbleTensionCert where
  73  band_nontrivial : hubbleRatioLower < hubbleRatioUpper
  74  empirical_in_band :
  75    hubbleRatioLower < empiricalCentral ∧ empiricalCentral < hubbleRatioUpper
  76  consistency_excludes_falsification :
  77    ∀ {h0 : ℝ}, ¬ (IsConsistentWithRS h0 ∧ IsFalsifier h0)
  78
  79/-- Hubble-tension predictive-band certificate. -/
  80def hubbleTensionCert : HubbleTensionCert where
  81  band_nontrivial := band_nontrivial
  82  empirical_in_band := empiricalCentral_in_band
  83  consistency_excludes_falsification := consistency_excludes_falsification
  84
  85end
  86end HubbleTensionBound
  87end Cosmology
  88end IndisputableMonolith
  89

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