Pith. sign in

IndisputableMonolith.Cosmology.GStarThresholds

IndisputableMonolith/Cosmology/GStarThresholds.lean · 227 lines · 35 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.StandardModel.RelativisticDOF
   3
   4/-!
   5# g_star(T): Temperature-Dependent Relativistic Degrees of Freedom
   6
   7STATUS TAG: **MODEL (instantaneous-threshold step function) over adopted
   8SM content**. Built 2026-07-02 in response to the external review point
   9"g_star is temperature dependent, but RS fixes one number ... the
  10repository does not implement a function g_star(T), threshold decoupling,
  11finite-temperature equations of state, or epoch-dependent particle
  12content."
  13
  14This module implements the standard threshold-decoupling step function
  15g_star(T): each species contributes its full relativistic degree count
  16while T exceeds its mass threshold and drops out below it, with the QCD
  17confinement transition at T_QCD ≈ 0.15 GeV switching the strong sector
  18from quark–gluon plasma content (gluons + u,d,s) to hadronic content
  19(pions). All arithmetic is exact over ℚ and machine-checked.
  20
  21## Honest scope
  22
  23- The step function is the standard leading approximation. It does NOT
  24  implement Boltzmann-suppressed tails near thresholds, the lattice QCD
  25  equation of state through the crossover, or the neutrino-decoupling
  26  reheating factor (4/11)^(4/3) below e⁺e⁻ annihilation. Valid domain:
  27  T ≳ 1 MeV (above neutrino decoupling).
  28- Mass thresholds are IMPORTED (PDG rounded values, rational
  29  approximations). RS's φ-ladder mass modules (IndisputableMonolith.Masses)
  30  predict these masses independently; this module does not re-derive them,
  31  it uses them as ordering thresholds only (only the relative order of
  32  T vs. m matters for the step counts, so rounding is harmless).
  33- Particle content per species is the same imported SM bookkeeping as
  34  StandardModel.RelativisticDOF (see its header for the RS-derived vs.
  35  imported split: gauge group and generation count RS-derived; matter
  36  representations, neutrino convention, and the 7/8 integral imported).
  37- Below T_EW the bosonic sector is counted in the broken phase (massive
  38  W/Z with 3 polarizations, 1 physical Higgs); above T_EW the symmetric
  39  phase (massless W/Z with 2 polarizations, 4 Higgs-doublet DOF) has the
  40  SAME total (28), so the high-T evaluation matches
  41  RelativisticDOF.g_star_derived exactly (bridge theorem below).
  42
  43## Spot checks proved below (standard textbook values)
  44
  45| T          | epoch                        | g_star  |
  46|------------|------------------------------|---------|
  47| 200 GeV    | all SM relativistic          | 106.75  |
  48| 10 GeV     | after t, H, Z, W decouple    | 86.25   |
  49| 1 GeV      | after b, τ, c decouple       | 61.75   |
  50| 0.14 GeV   | below T_QCD (π, μ, e, ν, γ)  | 17.25   |
  51| 2 MeV      | after π, μ annihilate        | 10.75   |
  52
  53## Main results
  54
  55- `g_star (T : ℚ) : ℚ` — the step function.
  56- `g_star_high_matches_derived` — at high T it equals the fixed 106.75
  57  of StandardModel.RelativisticDOF (so the old fixed number is now the
  58  high-T evaluation of a real function, not a free-standing constant).
  59- `g_star_steps_antitone_chain` — the sampled epochs decrease as the
  60  universe cools.
  61- `g_star_dirac_high` — the thermalized-Dirac-neutrino branch gives 112
  62  at high T (the neutrino convention carried as an explicit input).
  63
  64## Status: 0 sorry, 0 axiom
  65-/
  66
  67namespace IndisputableMonolith
  68namespace Cosmology
  69namespace GStarThresholds
  70
  71/-- A thermal species: name, mass threshold (GeV, rational approximation;
  72    only its order relative to T matters), internal degrees of freedom,
  73    and quantum statistics. -/
  74structure Species where
  75  name : String
  76  mass : ℚ
  77  dof : ℕ
  78  fermion : Bool
  79deriving Repr
  80
  81/-! ## Species tables (imported SM content; masses PDG-rounded) -/
  82
  83/-- Photon: massless, 2 polarizations. -/
  84def photon : Species := ⟨"photon", 0, 2, false⟩
  85
  86/-- Neutrinos, minimal-SM convention: 3 generations × (LH ν + RH ν̄) = 6. -/
  87def neutrinos : Species := ⟨"neutrinos (3 gen, minimal)", 0, 6, true⟩
  88
  89/-- Neutrinos, thermalized-Dirac branch: 3 generations × 4 = 12. -/
  90def neutrinos_dirac : Species := ⟨"neutrinos (3 gen, Dirac, RH thermalized)", 0, 12, true⟩
  91
  92/-- Top quark: m ≈ 173 GeV, 12 DOF (3 color × 2 spin × 2 p/ap). -/
  93def top : Species := ⟨"top", 173, 12, true⟩
  94
  95/-- Higgs boson (broken phase): m ≈ 125 GeV, 1 DOF. -/
  96def higgs : Species := ⟨"Higgs", 125, 1, false⟩
  97
  98/-- Z boson (broken phase): m ≈ 91.2 GeV, 3 polarizations. -/
  99def zboson : Species := ⟨"Z", 456/5, 3, false⟩
 100
 101/-- W± bosons (broken phase): m ≈ 80.4 GeV, 2 × 3 polarizations = 6. -/
 102def wboson : Species := ⟨"W±", 402/5, 6, false⟩
 103
 104/-- Bottom quark: m ≈ 4.2 GeV, 12 DOF. -/
 105def bottom : Species := ⟨"bottom", 21/5, 12, true⟩
 106
 107/-- Tau lepton: m ≈ 1.777 GeV, 4 DOF. -/
 108def tau : Species := ⟨"tau", 1777/1000, 4, true⟩
 109
 110/-- Charm quark: m ≈ 1.27 GeV, 12 DOF. -/
 111def charm : Species := ⟨"charm", 127/100, 12, true⟩
 112
 113/-- Muon: m ≈ 0.1057 GeV, 4 DOF. -/
 114def muon : Species := ⟨"muon", 1057/10000, 4, true⟩
 115
 116/-- Electron: m ≈ 0.000511 GeV, 4 DOF. -/
 117def electron : Species := ⟨"electron", 511/1000000, 4, true⟩
 118
 119/-- Gluons (deconfined, T > T_QCD): 8 × 2 = 16 DOF. -/
 120def gluons : Species := ⟨"gluons", 0, 16, false⟩
 121
 122/-- Up quark (deconfined; current mass ≪ T_QCD): 12 DOF. -/
 123def up : Species := ⟨"up", 0, 12, true⟩
 124
 125/-- Down quark (deconfined): 12 DOF. -/
 126def down : Species := ⟨"down", 0, 12, true⟩
 127
 128/-- Strange quark (deconfined; m_s ≈ 95 MeV < T_QCD): 12 DOF. -/
 129def strange : Species := ⟨"strange", 0, 12, true⟩
 130
 131/-- Pions π⁺, π⁻, π⁰ (confined phase): m ≈ 0.135–0.140 GeV, 3 DOF. -/
 132def pions : Species := ⟨"pions", 27/200, 3, false⟩
 133
 134/-- QCD confinement threshold: T_QCD ≈ 0.15 GeV. Above it the strong
 135    sector is quark–gluon plasma; below it, hadrons. IMPORTED (lattice
 136    QCD crossover scale, rounded); the instantaneous switch is the step
 137    approximation, not the real crossover equation of state. -/
 138def T_qcd : ℚ := 3/20
 139
 140/-- Electroweak-sector species with mass thresholds (decouple as T falls). -/
 141def ew_species : List Species :=
 142  [top, higgs, zboson, wboson, bottom, tau, charm, muon, electron]
 143
 144/-- Strong-sector species above T_QCD (quark–gluon plasma). -/
 145def qgp_species : List Species := [gluons, up, down, strange]
 146
 147/-- Strong-sector species below T_QCD (hadronic phase). -/
 148def hadron_species : List Species := [pions]
 149
 150/-! ## The step function -/
 151
 152/-- Energy-density weight of one species: DOF, times 7/8 for fermions
 153    (sign from spin-statistics, RS-derived; integral value 7/8 imported —
 154    see StandardModel.RelativisticDOF.fermi_dirac_weight). -/
 155def species_g (s : Species) : ℚ :=
 156  if s.fermion then (7 : ℚ) / 8 * s.dof else s.dof
 157
 158/-- Species relativistic and populated at temperature T (GeV), with the
 159    neutrino sector supplied as an explicit input (minimal vs. Dirac). -/
 160def activeWith (nu : Species) (T : ℚ) : List Species :=
 161  [photon, nu]
 162    ++ ew_species.filter (fun s => s.mass < T)
 163    ++ (if T_qcd < T then qgp_species
 164        else hadron_species.filter (fun s => s.mass < T))
 165
 166/-- g_star(T) with an explicit neutrino-sector input. -/
 167def g_starWith (nu : Species) (T : ℚ) : ℚ :=
 168  ((activeWith nu T).map species_g).sum
 169
 170/-- **g_star(T)**: the temperature-dependent relativistic degree count,
 171    minimal-SM neutrino convention. Instantaneous-threshold step model;
 172    valid for T ≳ 1 MeV. -/
 173def g_star (T : ℚ) : ℚ := g_starWith neutrinos T
 174
 175/-! ## Evaluation theorems (exact rational arithmetic) -/
 176
 177/-- T = 200 GeV: all SM species relativistic → 427/4 = 106.75. -/
 178theorem g_star_high : g_star 200 = 427/4 := by native_decide
 179
 180/-- T = 10 GeV: t, H, Z, W decoupled → 345/4 = 86.25. -/
 181theorem g_star_10GeV : g_star 10 = 345/4 := by native_decide
 182
 183/-- T = 1 GeV: b, τ, c also decoupled → 247/4 = 61.75. -/
 184theorem g_star_1GeV : g_star 1 = 247/4 := by native_decide
 185
 186/-- T = 0.14 GeV (just below T_QCD): γ, π, μ, e, ν → 69/4 = 17.25. -/
 187theorem g_star_140MeV : g_star (7/50) = 69/4 := by native_decide
 188
 189/-- T = 2 MeV (above neutrino decoupling; π, μ gone): γ, e, ν
 190    → 43/4 = 10.75. -/
 191theorem g_star_2MeV : g_star (1/500) = 43/4 := by native_decide
 192
 193/-- The sampled epochs decrease monotonically as the universe cools:
 194    10.75 < 17.25 < 61.75 < 86.25 < 106.75. -/
 195theorem g_star_steps_antitone_chain :
 196    g_star (1/500) < g_star (7/50) ∧
 197    g_star (7/50) < g_star 1 ∧
 198    g_star 1 < g_star 10 ∧
 199    g_star 10 < g_star 200 := by native_decide
 200
 201/-! ## Bridge to the fixed high-T constant -/
 202
 203/-- The fixed 106.75 used across the cosmology modules is the high-T
 204    evaluation of g_star(T): the old constant is now a function value,
 205    not a free-standing number. -/
 206theorem g_star_high_matches_derived :
 207    ((g_star 200 : ℚ) : ℝ) = StandardModel.RelativisticDOF.g_star_derived := by
 208  rw [g_star_high, StandardModel.RelativisticDOF.g_star_derived_eq]
 209  norm_num
 210
 211/-! ## The Dirac-neutrino branch (explicit model input) -/
 212
 213/-- With thermalized right-handed Dirac neutrinos, the high-T count is
 214    112, not 106.75 (matches RelativisticDOF.g_star_dirac_eq). The
 215    neutrino convention is a real input that moves the answer. -/
 216theorem g_star_dirac_high : g_starWith neutrinos_dirac 200 = 112 := by
 217  native_decide
 218
 219/-- The two neutrino conventions agree everywhere except through the
 220    neutrino term: the branch gap at high T is (7/8)·6 = 21/4 = 5.25. -/
 221theorem g_star_branch_gap_high :
 222    g_starWith neutrinos_dirac 200 - g_star 200 = 21/4 := by native_decide
 223
 224end GStarThresholds
 225end Cosmology
 226end IndisputableMonolith
 227

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