def
definition
gapAffineLogR
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 38.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
-
affine_log_collapses_from_three_point_calibration -
affine_log_collapses_to_canonical_gap -
affine_log_parameters_forced_by_three_point_calibration -
affine_log_unique_under_normalizations -
gapAffineLog -
minus_one_step_forces_phi_shift -
three_point_affine_log_closure -
unit_step_forces_log_scale -
zero_normalization_forces_offset -
affine_log_collapses_to_gap -
affine_log_parameters_forced -
gapAffineLog -
gapAffineLogR -
minus_one_step_forces_phi_shift -
three_point_closure -
three_point_forces_canonical_gap -
unit_step_forces_log_scale -
zero_normalization_forces_offset
formal source
35noncomputable section
36
37/-- Affine-log candidate family on reals. -/
38def gapAffineLogR (a b c x : ℝ) : ℝ :=
39 a * Real.log (1 + x / b) + c
40
41/-- Integer specialization of the affine-log family. -/
42def gapAffineLog (a b c : ℝ) (Z : ℤ) : ℝ :=
43 gapAffineLogR a b c (Z : ℝ)
44
45/-- `φ = 1 + 1/φ`, used to normalize the unit-step condition. -/
46lemma phi_eq_one_add_inv_phi : phi = 1 + (1 : ℝ) / phi := by
47 have hphi_ne_zero : phi ≠ 0 := phi_ne_zero
48 calc
49 phi = phi ^ 2 / phi := by
50 field_simp [hphi_ne_zero]
51 _ = (phi + 1) / phi := by simp [phi_sq_eq]
52 _ = 1 + (1 : ℝ) / phi := by
53 field_simp [hphi_ne_zero]
54
55/-- Equivalent rewrite of `1 + 1/φ = φ`. -/
56lemma one_add_inv_phi_eq_phi : 1 + (1 : ℝ) / phi = phi := by
57 simpa using phi_eq_one_add_inv_phi.symm
58
59/-- Log rewrite at the canonical shift argument. -/
60lemma log_one_add_inv_phi_eq_log_phi : Real.log (1 + phi⁻¹) = Real.log phi := by
61 have hshift : (1 + phi⁻¹ : ℝ) = phi := by
62 simpa [one_div] using one_add_inv_phi_eq_phi
63 simp [hshift]
64
65/-- Neutral normalization fixes the additive offset. -/
66lemma zero_normalization_forces_offset
67 {a c : ℝ}
68 (h0 : gapAffineLogR a phi c 0 = 0) :