pith. machine review for the scientific record. sign in

IndisputableMonolith.Masses.AnchorPolicy

IndisputableMonolith/Masses/AnchorPolicy.lean · 102 lines · 20 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3import IndisputableMonolith.Masses.Anchor
   4
   5namespace IndisputableMonolith
   6namespace Masses
   7
   8open Anchor
   9
  10noncomputable def rung (sector : Anchor.Sector) (name : String) : ℤ :=
  11  match sector with
  12  | .Lepton      => Integers.r_lepton name
  13  | .UpQuark     => Integers.r_up name
  14  | .DownQuark   => Integers.r_down name
  15  | .Electroweak => Integers.r_boson name
  16
  17noncomputable def chargeMap (name : String) : ℚ :=
  18  match name with
  19  | "e" | "mu" | "tau" => -1
  20  | "u" | "c" | "t" => 2 / 3
  21  | "d" | "s" | "b" => -1 / 3
  22  | _ => 0
  23
  24noncomputable def gap (sector : Anchor.Sector) (name : String) : ℝ :=
  25  let Q := chargeMap name
  26  (Real.log (1 + ((ChargeIndex.Z sector Q : ℝ) / Constants.phi))) / Real.log Constants.phi
  27
  28noncomputable def predict_mass (sector : Anchor.Sector) (name : String) : ℝ :=
  29  Anchor.yardstick sector * Constants.phi ^ (rung sector name + gap sector name - 8)
  30
  31/-! ## SDGT Mass Prediction (Sector-Dependent Generation Torsion)
  32
  33The SDGT prediction uses sector-specific rungs and a cross-sector
  34correction of +E = +12 for down quarks.
  35
  36EPISTEMIC STATUS:
  37- Lepton rungs {2, 13, 19}: DERIVED from edge/face geometry
  38- Up-quark rungs {4, 17, 28}: HYPOTHESIS (from PDG same-scale ratios)
  39- Down-quark rungs {4, 10, 18}: HYPOTHESIS (from PDG same-scale ratios)
  40- Cross-sector +E shift: HYPOTHESIS (from PDG m_d > m_u requirement)
  41- The integers ARE Q₃ cell counts (Lean-proved), but the sector
  42  assignments are data-driven, not first-principles derivations.
  43-/
  44
  45/-- SDGT rung table for up quarks: {4, 17, 28}. -/
  46noncomputable def rung_sdgt_up (name : String) : ℤ :=
  47  match name with
  48  | "u" => 4  | "c" => 17  | "t" => 28  | _ => 0
  49
  50/-- SDGT rung table for down quarks: {4, 10, 18}. -/
  51noncomputable def rung_sdgt_down (name : String) : ℤ :=
  52  match name with
  53  | "d" => 4  | "s" => 10  | "b" => 18  | _ => 0
  54
  55/-- SDGT rung selector (leptons and bosons unchanged). -/
  56noncomputable def rung_sdgt (sector : Anchor.Sector) (name : String) : ℤ :=
  57  match sector with
  58  | .Lepton      => Integers.r_lepton name
  59  | .UpQuark     => rung_sdgt_up name
  60  | .DownQuark   => rung_sdgt_down name
  61  | .Electroweak => Integers.r_boson name
  62
  63/-- Cross-sector correction: +E = +12 for down quarks, 0 otherwise.
  64    This accounts for the cost of traversing the edge layer in the
  65    cube partition (the edge layer is owned by the lepton sector). -/
  66noncomputable def cross_sector_shift (sector : Anchor.Sector) : ℤ :=
  67  match sector with
  68  | .DownQuark => 12  -- E = cube_edges(3) = 12
  69  | _          => 0
  70
  71/-- SDGT mass prediction: m = A_s × φ^(r_sdgt - 8 + gap(Z) + shift). -/
  72noncomputable def predict_mass_sdgt (sector : Anchor.Sector) (name : String) : ℝ :=
  73  Anchor.yardstick sector *
  74  Constants.phi ^ (rung_sdgt sector name + gap sector name - 8 + cross_sector_shift sector)
  75
  76structure AnchorPolicy where
  77  lambda : ℝ
  78  kappa  : ℝ
  79
  80/-- Canonical anchor policy: `(λ, κ) = (ln φ, φ)` with coherence energy. -/
  81@[simp] noncomputable def canonicalPolicy : AnchorPolicy :=
  82  { lambda := Real.log Constants.phi
  83  , kappa  := Constants.phi }
  84
  85noncomputable abbrev E_coh : ℝ := Anchor.E_coh
  86noncomputable abbrev yardstick := Anchor.yardstick
  87abbrev Z_index := ChargeIndex.Z
  88abbrev r_lepton := Integers.r_lepton
  89abbrev r_up := Integers.r_up
  90abbrev r_down := Integers.r_down
  91abbrev r_boson := Integers.r_boson
  92
  93structure ResidueLaw where
  94  f : ℝ → ℝ
  95
  96structure SectorLaw where
  97  params  : SectorParams
  98  residue : ResidueLaw
  99
 100end Masses
 101end IndisputableMonolith
 102

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