IndisputableMonolith.Physics.GaugeBosonMassesFromRS
IndisputableMonolith/Physics/GaugeBosonMassesFromRS.lean · 62 lines · 8 declarations
show as:
view math explainer →
1import Mathlib
2import IndisputableMonolith.Constants
3
4/-!
5# Gauge Boson Masses from RS — A1 SM Depth
6
7m_Z/m_W = 6/(3+φ), sin²θ_W = (3-φ)/6.
8
9Lean status: 0 sorry, 0 axiom.
10-/
11
12namespace IndisputableMonolith.Physics.GaugeBosonMassesFromRS
13open Constants
14
15noncomputable def massRatio : ℝ := 6 / (3 + phi)
16
17theorem massRatio_pos : 0 < massRatio :=
18 div_pos (by norm_num) (by linarith [phi_gt_onePointSixOne])
19
20theorem massRatio_gt_one : massRatio > 1 := by
21 unfold massRatio
22 have h1 := phi_gt_onePointSixOne
23 have h2 := phi_lt_onePointSixTwo
24 have hd : (0:ℝ) < 3 + phi := by linarith
25 rw [gt_iff_lt, lt_div_iff₀ hd]
26 -- Need 3+φ < 6, i.e., φ < 3
27 linarith
28
29noncomputable def sin2thetaW_RS : ℝ := (3 - phi) / 6
30
31theorem sin2thetaW_pos : 0 < sin2thetaW_RS := by
32 unfold sin2thetaW_RS
33 apply div_pos _ (by norm_num)
34 linarith [phi_lt_onePointSixTwo]
35
36theorem sin2thetaW_band :
37 (0.228 : ℝ) < sin2thetaW_RS ∧ sin2thetaW_RS < 0.232 := by
38 unfold sin2thetaW_RS
39 have h1 := phi_gt_onePointSixOne
40 have h2 := phi_lt_onePointSixTwo
41 constructor
42 · have : (3 - phi) / 6 > (3 - 1.62) / 6 := by
43 apply div_lt_div_of_pos_right _ (by norm_num)
44 linarith
45 linarith
46 · have : (3 - phi) / 6 < (3 - 1.61) / 6 := by
47 apply div_lt_div_of_pos_right _ (by norm_num)
48 linarith
49 linarith
50
51structure GaugeBosonMassCert where
52 ratio_pos : 0 < massRatio
53 ratio_gt_one : massRatio > 1
54 sin2theta_band : (0.228 : ℝ) < sin2thetaW_RS ∧ sin2thetaW_RS < 0.232
55
56noncomputable def gaugeBosonMassCert : GaugeBosonMassCert where
57 ratio_pos := massRatio_pos
58 ratio_gt_one := massRatio_gt_one
59 sin2theta_band := sin2thetaW_band
60
61end IndisputableMonolith.Physics.GaugeBosonMassesFromRS
62