IndisputableMonolith.Measurement.BornRuleLight
IndisputableMonolith/Measurement/BornRuleLight.lean · 31 lines · 1 declarations
show as:
view math explainer →
1import Mathlib
2
3/-!
4# Born Rule (Lightweight)
5
6Minimal algebraic lemma used in paper exports; avoids heavy dependencies.
7-/
8
9namespace IndisputableMonolith
10namespace Measurement
11
12open Real Complex
13
14/-- Born rule normalized: from recognition weights to normalized probabilities. -/
15theorem born_rule_normalized (C₁ C₂ : ℝ) (α₁ α₂ : ℂ)
16 (h₁ : Real.exp (-C₁) / (Real.exp (-C₁) + Real.exp (-C₂)) = ‖α₁‖ ^ 2)
17 (h₂ : Real.exp (-C₂) / (Real.exp (-C₁) + Real.exp (-C₂)) = ‖α₂‖ ^ 2) :
18 ‖α₁‖ ^ 2 + ‖α₂‖ ^ 2 = 1 := by
19 have hdenom : Real.exp (-C₁) + Real.exp (-C₂) ≠ 0 :=
20 (add_pos (Real.exp_pos _) (Real.exp_pos _)).ne'
21 calc ‖α₁‖ ^ 2 + ‖α₂‖ ^ 2
22 = Real.exp (-C₁) / (Real.exp (-C₁) + Real.exp (-C₂)) +
23 Real.exp (-C₂) / (Real.exp (-C₁) + Real.exp (-C₂)) := by
24 rw [← h₁, ← h₂]
25 _ = (Real.exp (-C₁) + Real.exp (-C₂)) / (Real.exp (-C₁) + Real.exp (-C₂)) := by
26 rw [div_add_div_same]
27 _ = 1 := div_self hdenom
28
29end Measurement
30end IndisputableMonolith
31