lemma
proved
minus_one_step_forces_phi_shift
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Masses.GapFunctionForcing on GitHub at line 91.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
all -
all -
one_lt_phi -
phi_sq_eq -
all -
lt_trans -
mul_eq_zero -
gapAffineLogR -
calibration -
all -
phi_sq_eq -
point -
one_lt_phi -
one_lt_phi -
gapAffineLogR -
minus_one_step_forces_phi_shift
used by
formal source
88
89/-- Three-point calibration (`x = -1,0,1`) forces the affine-log shift to `b = φ`.
90 The extra `b > 1` assumption encodes the physically relevant positive-shift branch. -/
91lemma minus_one_step_forces_phi_shift
92 {a b c : ℝ}
93 (hb : 1 < b)
94 (h0 : gapAffineLogR a b c 0 = 0)
95 (h1 : gapAffineLogR a b c 1 = 1)
96 (hneg1 : gapAffineLogR a b c (-1) = -2) :
97 b = phi := by
98 have hb_pos : 0 < b := lt_trans zero_lt_one hb
99 have hb_ne : b ≠ 0 := ne_of_gt hb_pos
100 have hplus_pos : 0 < 1 + (1 : ℝ) / b := by
101 have hinv_pos : 0 < (1 : ℝ) / b := one_div_pos.mpr hb_pos
102 linarith
103 have hinv_lt_one : (1 : ℝ) / b < 1 := by
104 simpa using (one_div_lt_one_div_of_lt (by norm_num : (0 : ℝ) < 1) hb)
105 have hminus_pos : 0 < 1 - (1 : ℝ) / b := by
106 linarith
107 have hminus_ne : (1 - (1 : ℝ) / b) ≠ 0 := ne_of_gt hminus_pos
108 have hc : c = 0 := by
109 simpa [gapAffineLogR] using h0
110 have h1' : a * Real.log (1 + (1 : ℝ) / b) = 1 := by
111 simpa [gapAffineLogR, hc] using h1
112 have hneg1_raw : a * Real.log (1 + (-1 : ℝ) / b) = -2 := by
113 simpa [gapAffineLogR, hc] using hneg1
114 have hneg1' : a * Real.log (1 - (1 : ℝ) / b) = -2 := by
115 simpa [sub_eq_add_neg, div_eq_mul_inv, mul_assoc] using hneg1_raw
116 have ha_ne : a ≠ 0 := by
117 intro ha
118 have h1'' := h1'
119 simp [ha] at h1''
120 have hscaled : a * (-2 * Real.log (1 + (1 : ℝ) / b)) = -2 := by
121 calc