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

J_log_second_deriv_at_zero

proved
show as:
view math explainer →
module
IndisputableMonolith.Foundation.DiscretenessForcing
domain
Foundation
line
103 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Foundation.DiscretenessForcing on GitHub at line 103.

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

Derivations using this theorem

depends on

used by

formal source

 100/-- The second derivative of J_log at t = 0 is 1.
 101    This sets the "stiffness" of the cost bowl and determines
 102    the minimum step cost for discrete configurations. -/
 103theorem J_log_second_deriv_at_zero : deriv (deriv J_log) 0 = 1 := by
 104  -- J_log(t) = cosh(t) - 1
 105  -- J_log'(t) = sinh(t)
 106  -- J_log''(t) = cosh(t)
 107  -- J_log''(0) = cosh(0) = 1
 108  have h1 : deriv J_log = Real.sinh := by
 109    ext t
 110    unfold J_log
 111    rw [deriv_sub_const, Real.deriv_cosh]
 112  rw [h1, Real.deriv_sinh]
 113  exact Real.cosh_zero
 114
 115/-- **HYPOTHESIS**: Quadratic approximation of cosh(x) has a tight fourth-order bound.
 116    For |x| < 1, the Taylor remainder satisfies |cosh x - 1 - x²/2| ≤ x⁴/20.
 117    Proof follows from bounding the series Σ x^(2n)/(2n)! by its first term and a geometric tail. -/
 118theorem cosh_quadratic_bound (x : ℝ) (hx : |x| < 1) : |Real.cosh x - 1 - x^2 / 2| ≤ x^4 / 20 := by
 119  -- Power series: `cosh x = ∑' n, x^(2n)/(2n)!`.  Peel off `n=0,1` and bound the tail by a
 120  -- geometric series using the ratio test with the crude uniform bound `((2n+2)(2n+1)) ≥ 30`.
 121  let a : ℕ → ℝ := fun n => x ^ (2 * n) / (↑(2 * n).factorial)
 122  have hcosh : HasSum a (Real.cosh x) := by
 123    simpa [a] using Real.hasSum_cosh x
 124  have ha : Summable a := hcosh.summable
 125  have hsplit : Real.cosh x = (∑ i ∈ Finset.range 2, a i) + ∑' n, a (n + 2) := by
 126    calc
 127      Real.cosh x = ∑' n, a n := by
 128        simpa using hcosh.tsum_eq.symm
 129      _ = (∑ i ∈ Finset.range 2, a i) + ∑' n, a (n + 2) := by
 130        -- `Summable.sum_add_tsum_nat_add` gives `sum + tail = tsum`; we use its symmetric form.
 131        simpa using (Summable.sum_add_tsum_nat_add 2 ha).symm
 132  have hsum2 : (∑ i ∈ Finset.range 2, a i) = 1 + x^2 / 2 := by
 133    simp only [Finset.sum_range_succ, Finset.sum_range_zero, a]