pith. machine review for the scientific record. sign in
theorem proved tactic proof

jarlskog_match

show as:
view Lean formalization →

No prose has been written for this declaration yet. The Lean source and graph data below render without it.

generate prose now

formal statement (Lean)

 284theorem jarlskog_match :
 285    abs (jarlskog_pred - 3.08e-5) < 0.6e-5 := by

proof body

Tactic-mode proof.

 286  -- External verification: J ≈ (1/24) * (α/2) * (φ⁻³) * 1 ≈ 3.03e-5
 287  -- |3.03e-5 - 3.08e-5| = 0.05e-5 < 0.6e-5 ✓
 288  -- Keep `Constants.alpha` opaque (avoid simp unfolding), and only simplify sin(pi/2)=1.
 289  have hsin : Real.sin ckm_cp_phase = (1 : ℝ) := by
 290    simp [ckm_cp_phase, Real.sin_pi_div_two]
 291  -- Rewrite the prediction into a clean closed form.
 292  have hj :
 293      jarlskog_pred = Constants.alpha * (phi ^ (-3 : ℤ)) / 48 := by
 294    -- jarlskog_pred = (1/24) * (alpha/2) * phi^(-3) * 1
 295    unfold jarlskog_pred fine_structure_leakage torsion_overlap
 296    -- replace sin(pi/2)
 297    simp only [hsin]
 298    -- expand the rational factor 1/24 (as ℝ) and rearrange
 299    simp only [edge_dual_ratio]
 300    ring_nf
 301  -- Use the rewritten form for all bounds.
 302  rw [hj]
 303  -- Bound α and φ^(-3).
 304  have hα_lo := CKMGeometry.alpha_lower_bound
 305  have hα_hi := CKMGeometry.alpha_upper_bound
 306  have hφ3_lo : (0.2360 : ℝ) < phi ^ (-3 : ℤ) := CKMGeometry.phi_inv3_lower_bound
 307  have hφ3_hi : phi ^ (-3 : ℤ) < (0.2361 : ℝ) := CKMGeometry.phi_inv3_upper_bound
 308  -- Convert the goal to a simple enclosing interval: 2.48e-5 < J < 3.68e-5.
 309  rw [abs_lt]
 310  constructor
 311  · -- lower: 3.08e-5 - 0.6e-5 < J
 312    -- Use a conservative product lower bound.
 313    have hJ_lo : (0.00729 : ℝ) * (0.2360 : ℝ) / 48 < Constants.alpha * (phi ^ (-3 : ℤ)) / 48 := by
 314      have h48 : (0 : ℝ) < (48 : ℝ) := by norm_num
 315      have hmul : (0.00729 : ℝ) * (0.2360 : ℝ) < Constants.alpha * (phi ^ (-3 : ℤ)) := by
 316        nlinarith [hα_lo, hφ3_lo]
 317      exact div_lt_div_of_pos_right hmul h48
 318    have hnum : (2.48e-5 : ℝ) < (0.00729 : ℝ) * (0.2360 : ℝ) / 48 := by norm_num
 319    have : (2.48e-5 : ℝ) < Constants.alpha * (phi ^ (-3 : ℤ)) / 48 := lt_trans hnum hJ_lo
 320    linarith
 321  · -- upper: J < 3.08e-5 + 0.6e-5
 322    have hJ_hi : Constants.alpha * (phi ^ (-3 : ℤ)) / 48 < (0.00731 : ℝ) * (0.2361 : ℝ) / 48 := by
 323      have h48 : (0 : ℝ) < (48 : ℝ) := by norm_num
 324      have hmul : Constants.alpha * (phi ^ (-3 : ℤ)) < (0.00731 : ℝ) * (0.2361 : ℝ) := by
 325        nlinarith [hα_hi, hφ3_hi]
 326      exact div_lt_div_of_pos_right hmul h48
 327    have hnum : (0.00731 : ℝ) * (0.2361 : ℝ) / 48 < (3.68e-5 : ℝ) := by norm_num
 328    have : Constants.alpha * (phi ^ (-3 : ℤ)) / 48 < (3.68e-5 : ℝ) := lt_trans hJ_hi hnum
 329    linarith
 330

used by (1)

From the project-wide theorem graph. These declarations reference this one in their body.

depends on (20)

Lean names referenced from this declaration's body.