pith. machine review for the scientific record. sign in
theorem

minus_one_step_forces_phi_shift

proved
show as:
view math explainer →
module
IndisputableMonolith.RSBridge.GapFunctionForcing
domain
RSBridge
line
93 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.RSBridge.GapFunctionForcing on GitHub at line 93.

browse module

All declarations in this module, on Recognition.

explainer page

Tracked in the explainer inventory; generation is lazy so crawlers do not trigger LLM jobs.

open explainer

depends on

used by

formal source

  90This is the paper's Theorem 4.2: setting u = 1/b, the condition
  91`(1 - u)(1 + u)^2 = 1` expands to `u^2 + u - 1 = 0`, giving u = 1/φ. -/
  92
  93theorem minus_one_step_forces_phi_shift
  94    {a b c : ℝ}
  95    (hb : 1 < b)
  96    (h0 : gapAffineLogR a b c 0 = 0)
  97    (h1 : gapAffineLogR a b c 1 = 1)
  98    (hneg1 : gapAffineLogR a b c (-1) = -2) :
  99    b = phi := by
 100  have hb_pos : 0 < b := lt_trans zero_lt_one hb
 101  have hb_ne : b ≠ 0 := ne_of_gt hb_pos
 102  have hplus_pos : 0 < 1 + (1 : ℝ) / b := by
 103    have hinv_pos : 0 < (1 : ℝ) / b := one_div_pos.mpr hb_pos
 104    linarith
 105  have hinv_lt_one : (1 : ℝ) / b < 1 := by
 106    simpa using (one_div_lt_one_div_of_lt (by norm_num : (0 : ℝ) < 1) hb)
 107  have hminus_pos : 0 < 1 - (1 : ℝ) / b := by linarith
 108  have hminus_ne : (1 - (1 : ℝ) / b) ≠ 0 := ne_of_gt hminus_pos
 109  have hc : c = 0 := by 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; simp [ha] at h1'
 118  have hscaled : a * (-2 * Real.log (1 + (1 : ℝ) / b)) = -2 := by
 119    calc
 120      a * (-2 * Real.log (1 + (1 : ℝ) / b))
 121          = (-2) * (a * Real.log (1 + (1 : ℝ) / b)) := by ring
 122      _ = (-2) * 1 := by rw [h1']
 123      _ = -2 := by ring