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

dAlembert_contDiff_nat

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

open explainer

Generate a durable explainer page for this declaration.

open lean source

IndisputableMonolith.Cost.AczelProof on GitHub at line 147.

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

 144    fun h_omega => absurd h_omega (by exact_mod_cast WithTop.coe_ne_top),
 145    by rwa [deriv_phi_eq H h_cont]⟩
 146
 147private theorem dAlembert_contDiff_nat (H : ℝ → ℝ) (h_one : H 0 = 1) (h_cont : Continuous H)
 148    (h_dAl : ∀ t u, H (t + u) + H (t - u) = 2 * H t * H u) :
 149    ∀ n : ℕ, ContDiff ℝ (n : ℕ∞) H := by
 150  obtain ⟨δ, _, hδ_ne⟩ := exists_integral_ne_zero H h_one h_cont
 151  have h_rep := representation_formula H h_cont h_dAl hδ_ne
 152  intro n; induction n with
 153  | zero => exact contDiff_zero.mpr h_cont
 154  | succ n ih =>
 155    have h_phi := phi_contDiff_succ H h_cont ih
 156    have h1 : ContDiff ℝ ((n + 1 : ℕ) : ℕ∞) (fun t => Phi H (t + δ)) :=
 157      h_phi.comp (contDiff_id.add contDiff_const)
 158    have h2 : ContDiff ℝ ((n + 1 : ℕ) : ℕ∞) (fun t => Phi H (t - δ)) :=
 159      h_phi.comp (contDiff_id.sub contDiff_const)
 160    have h4 : ContDiff ℝ ((n + 1 : ℕ) : ℕ∞)
 161        (fun t => (Phi H (t + δ) - Phi H (t - δ)) / (2 * Phi H δ)) :=
 162      (h1.sub h2).div_const _
 163    exact (funext h_rep) ▸ h4
 164
 165private theorem dAlembert_contDiff_smooth (H : ℝ → ℝ) (h_one : H 0 = 1) (h_cont : Continuous H)
 166    (h_dAl : ∀ t u, H (t + u) + H (t - u) = 2 * H t * H u) :
 167    ContDiff ℝ smooth H :=
 168  contDiff_infty.mpr (dAlembert_contDiff_nat H h_one h_cont h_dAl)
 169
 170/-! ## Phase 2: General ODE Derivation -/
 171
 172private theorem dAlembert_to_ODE_general (H : ℝ → ℝ)
 173    (h_smooth : ContDiff ℝ smooth H)
 174    (h_dAl : ∀ t u, H (t + u) + H (t - u) = 2 * H t * H u) :
 175    ∀ t, deriv (deriv H) t = deriv (deriv H) 0 * H t := by
 176  have h2 : ContDiff ℝ 2 H := by exact_mod_cast (contDiff_infty.mp h_smooth) 2
 177  have hDiff : Differentiable ℝ H := h2.differentiable (by decide : (2 : WithTop ℕ∞) ≠ 0)