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

unit_step_forces_log_scale

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

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Masses.GapFunctionForcing on GitHub at line 73.

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

  70  simpa [gapAffineLogR] using h0
  71
  72/-- Unit-step calibration fixes the log scale coefficient. -/
  73lemma unit_step_forces_log_scale
  74    {a c : ℝ}
  75    (h0 : gapAffineLogR a phi c 0 = 0)
  76    (h1 : gapAffineLogR a phi c 1 = 1) :
  77    a = 1 / Real.log phi := by
  78  have hc : c = 0 := zero_normalization_forces_offset h0
  79  have hlog_ne : Real.log phi ≠ 0 := ne_of_gt (Real.log_pos one_lt_phi)
  80  have hmul_raw : a * Real.log (1 + phi⁻¹) = 1 := by
  81    simpa [gapAffineLogR, hc] using h1
  82  have hmul : a * Real.log phi = 1 := by
  83    calc
  84      a * Real.log phi = a * Real.log (1 + phi⁻¹) := by
  85        rw [log_one_add_inv_phi_eq_log_phi]
  86      _ = 1 := hmul_raw
  87  exact (eq_div_iff hlog_ne).2 hmul
  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