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

cosh_initials

proved
show as:
view math explainer →
module
IndisputableMonolith.Cost.FunctionalEquation
domain
Cost
line
407 · github
papers citing
none yet

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Cost.FunctionalEquation on GitHub at line 407.

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

formal source

 404  have h2 : deriv Real.sinh = Real.cosh := Real.deriv_sinh
 405  exact congrFun h2 t
 406
 407theorem cosh_initials : Real.cosh 0 = 1 ∧ deriv (fun x => Real.cosh x) 0 = 0 := by
 408  constructor
 409  · simp [Real.cosh_zero]
 410  · have h := Real.deriv_cosh
 411    simp only [h, Real.sinh_zero]
 412
 413/-- **Theorem (ODE Cosh Uniqueness)**: The unique solution to H'' = H with H(0) = 1, H'(0) = 0 is cosh. -/
 414theorem ode_cosh_uniqueness_contdiff (H : ℝ → ℝ)
 415    (h_diff : ContDiff ℝ 2 H)
 416    (h_ode : ∀ t, deriv (deriv H) t = H t)
 417    (h_H0 : H 0 = 1)
 418    (h_H'0 : deriv H 0 = 0) :
 419    ∀ t, H t = Real.cosh t := by
 420  let g := fun t => H t - Real.cosh t
 421  have hg_diff : ContDiff ℝ 2 g := h_diff.sub Real.contDiff_cosh
 422  have hg_ode : ∀ t, deriv (deriv g) t = g t := by
 423    intro t
 424    have h1 : deriv g = fun s => deriv H s - deriv Real.cosh s := by
 425      ext s; apply deriv_sub
 426      · exact (h_diff.differentiable (by decide : (2 : WithTop ℕ∞) ≠ 0)).differentiableAt
 427      · exact Real.differentiable_cosh.differentiableAt
 428    have h2 : deriv (deriv g) t = deriv (deriv H) t - deriv (deriv Real.cosh) t := by
 429      have hH_diff1 : ContDiff ℝ 1 (deriv H) := by
 430        rw [show (2 : WithTop ℕ∞) = 1 + 1 from rfl] at h_diff
 431        rw [contDiff_succ_iff_deriv] at h_diff
 432        exact h_diff.2.2
 433      have hcosh_diff1 : ContDiff ℝ 1 (deriv Real.cosh) := by
 434        rw [Real.deriv_cosh]; exact Real.contDiff_sinh
 435      rw [h1]; apply deriv_sub
 436      · exact hH_diff1.differentiable (by decide : (1 : WithTop ℕ∞) ≠ 0) |>.differentiableAt
 437      · exact hcosh_diff1.differentiable (by decide : (1 : WithTop ℕ∞) ≠ 0) |>.differentiableAt