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

ode_zero_uniqueness_neg

proved
show as:
view math explainer →
module
IndisputableMonolith.Measurement.RecognitionAngle.AngleFunctionalEquation
domain
Measurement
line
102 · github
papers citing
none yet

open explainer

Read the cached plain-language explainer.

open lean source

IndisputableMonolith.Measurement.RecognitionAngle.AngleFunctionalEquation on GitHub at line 102.

browse module

All declarations in this module, on Recognition.

explainer page

A cached Ask Recognition explainer exists for this declaration.

open explainer

depends on

used by

formal source

  99
 100/-- **Theorem (ODE Zero Uniqueness for f'' = -f)**:
 101The unique solution to f'' = -f with f(0) = 0 and f'(0) = 0 is f = 0. -/
 102theorem ode_zero_uniqueness_neg (f : ℝ → ℝ)
 103    (h_diff2 : ContDiff ℝ 2 f)
 104    (h_ode : ∀ t, deriv (deriv f) t = -f t)
 105    (h_f0 : f 0 = 0)
 106    (h_f'0 : deriv f 0 = 0) :
 107    ∀ t, f t = 0 := by
 108  intro t
 109  have hE := ode_neg_energy_constant f h_diff2 h_ode t
 110  have hzero : f t ^ 2 + (deriv f t) ^ 2 = 0 := by
 111    simpa [h_f0, h_f'0] using hE
 112  have hsq_nonneg : 0 ≤ f t ^ 2 := sq_nonneg (f t)
 113  have hderivsq_nonneg : 0 ≤ (deriv f t) ^ 2 := sq_nonneg (deriv f t)
 114  have hsq_zero : f t ^ 2 = 0 := by linarith
 115  nlinarith [hsq_zero]
 116
 117/-- cos satisfies the ODE cos'' = -cos. -/
 118theorem cos_second_deriv_eq : ∀ t, deriv (deriv (fun x => Real.cos x)) t = -Real.cos t := by
 119  intro t
 120  have h1 : deriv (fun x => Real.cos x) = (fun x => -Real.sin x) := by
 121    funext x
 122    simpa using (Real.deriv_cos x)
 123  rw [h1]
 124  have hneg : deriv (fun x => -Real.sin x) t = -(deriv Real.sin t) := by
 125    simpa using (deriv_neg (f := Real.sin) (x := t))
 126  rw [hneg]
 127  simp [Real.deriv_sin]
 128
 129/-- cos has the correct initial conditions: cos(0) = 1, cos'(0) = 0. -/
 130theorem cos_initials : Real.cos 0 = 1 ∧ deriv (fun x => Real.cos x) 0 = 0 := by
 131  constructor
 132  · exact Real.cos_zero