lemma
proved
phi_ne_zero
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.PhiSupport.Lemmas on GitHub at line 28.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
adjacencyGap_eq -
goldenDivision_ratio -
phi_ladder_step -
lyapunovAt_succ_ratio -
r_orbit_gap_skip_band -
forecastSkill_decay -
horizonAtRung_succ_ratio -
predictability_threshold_band -
ignition_threshold_band -
Jcost_phi_val -
kappa_einstein_eq -
phi_ne_zero -
mass_ratio_structural -
phiRung_add -
etaBAt_succ_ratio -
crossSectionRatio_band -
phi_cost_fixed_point -
recidivismRate_decay -
ledgerConservation_eq_one -
cycleDuration_succ_ratio -
policy_balance -
giniCeiling_eq_phi_minus_one -
mobility_threshold_band -
inv_phi_eq -
phi_rung_energy_ratio -
phi_ladder_tc_monotone -
compression_has_cost -
fibonacci_compression_step -
phi_is_optimal_compression -
eventRate_ratio -
echoAmplitude_succ_ratio -
gap_doubling_halves -
degreeExponent_eq_two_plus_inv -
fibonacci_ratio_fixed_point -
gapAt_succ_ratio -
codeThreshold_decay -
qecThresholdAt_succ_ratio -
alphaG_pred_closed -
phi_eq_one_add_inv_phi -
muon_electron_ratio
formal source
25lemma one_lt_phi : 1 < Constants.phi := by simp [phi_def, Real.one_lt_goldenRatio]
26
27/-- φ ≠ 0. -/
28lemma phi_ne_zero : Constants.phi ≠ 0 := by
29 -- goldenRatio = (1+√5)/2 ≠ 0
30 have : Real.goldenRatio ≠ 0 := by
31 have hpos : 0 < Real.goldenRatio := Real.goldenRatio_pos
32 exact ne_of_gt hpos
33 simpa [phi_def] using this
34
35/-- φ^2 = φ + 1 using the closed form. -/
36@[simp] theorem phi_squared : Constants.phi ^ 2 = Constants.phi + 1 := by
37 simp [phi_def, Real.goldenRatio_sq]
38
39/-- φ = 1 + 1/φ as an algebraic corollary. -/
40theorem phi_fixed_point : Constants.phi = 1 + 1 / Constants.phi := by
41 have h_sq : Constants.phi ^ 2 = Constants.phi + 1 := phi_squared
42 have h_ne_zero : Constants.phi ≠ 0 := phi_ne_zero
43 calc
44 Constants.phi = (Constants.phi ^ 2) / Constants.phi := by
45 rw [pow_two, mul_div_cancel_left₀ _ h_ne_zero]
46 _ = (Constants.phi + 1) / Constants.phi := by rw [h_sq]
47 _ = Constants.phi / Constants.phi + 1 / Constants.phi := by rw [add_div]
48 _ = 1 + 1 / Constants.phi := by
49 have : Constants.phi / Constants.phi = 1 := div_self h_ne_zero
50 rw [this]
51
52/-- Uniqueness: if x > 0 and x² = x + 1, then x = φ. -/
53 theorem phi_unique_pos_root (x : ℝ) : (x ^ 2 = x + 1 ∧ 0 < x) ↔ x = Constants.phi := by
54 constructor
55 · intro hx
56 have hx2 : x ^ 2 = x + 1 := hx.left
57 -- (2x−1)^2 = 5
58 have hquad : (2 * x - 1) ^ 2 = 5 := by