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

ode_regularity_differentiable_of_smooth

proved
show as:
view math explainer →
module
IndisputableMonolith.Cost.FunctionalEquation
domain
Cost
line
1040 · 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 1040.

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

1037  fun _ => h.continuous
1038
1039/-- ODE regularity (4): any H with ContDiff ℝ ⊤ satisfies `ode_regularity_differentiable_hypothesis`. -/
1040theorem ode_regularity_differentiable_of_smooth {H : ℝ → ℝ} (h : ContDiff ℝ ⊤ H) :
1041    ode_regularity_differentiable_hypothesis H :=
1042  fun _ _ => (h.of_le le_top : ContDiff ℝ 1 H).differentiable (by decide : (1 : WithTop ℕ∞) ≠ 0)
1043
1044/-- ODE regularity (5): any H with ContDiff ℝ ⊤ satisfies `ode_linear_regularity_bootstrap_hypothesis`. -/
1045theorem ode_regularity_bootstrap_of_smooth {H : ℝ → ℝ} (h : ContDiff ℝ ⊤ H) :
1046    ode_linear_regularity_bootstrap_hypothesis H :=
1047  fun _ _ _ => h.of_le le_top
1048
1049/-- **Theorem (d'Alembert → cosh, Aczél form)**: Using only the Aczél axiom, a continuous
1050    solution to d'Alembert with H(0) = 1 and H''(0) = 1 must equal cosh.
1051
1052    This is the clean version of `dAlembert_cosh_solution`, requiring no regularity params. -/
1053theorem dAlembert_cosh_solution_aczel
1054    [AczelSmoothnessPackage]
1055    (H : ℝ → ℝ)
1056    (h_one : H 0 = 1)
1057    (h_cont : Continuous H)
1058    (h_dAlembert : ∀ t u, H (t+u) + H (t-u) = 2 * H t * H u)
1059    (h_d2_zero : deriv (deriv H) 0 = 1) :
1060    ∀ t, H t = Real.cosh t := by
1061  have h_smooth : ContDiff ℝ ⊤ H := aczel_dAlembert_smooth H h_one h_cont h_dAlembert
1062  have hDiff : Differentiable ℝ H :=
1063    (h_smooth.of_le le_top : ContDiff ℝ 1 H).differentiable (by decide : (1 : WithTop ℕ∞) ≠ 0)
1064  have h_even : Function.Even H := dAlembert_even H h_one h_dAlembert
1065  have h_H'0 : deriv H 0 = 0 := even_deriv_at_zero H h_even hDiff.differentiableAt
1066  have h_ode : ∀ t, deriv (deriv H) t = H t :=
1067    dAlembert_to_ODE_theorem H h_smooth h_dAlembert h_d2_zero
1068  have h_C2 : ContDiff ℝ 2 H := h_smooth.of_le le_top
1069  exact ode_cosh_uniqueness_contdiff H h_C2 h_ode h_one h_H'0
1070