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

deriv_neg_self_zero

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

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

 312    ring
 313
 314/-- If g' = -g and g(0) = 0, then g = 0. -/
 315lemma deriv_neg_self_zero (g : ℝ → ℝ)
 316    (h_diff : Differentiable ℝ g)
 317    (h_deriv : ∀ t, deriv g t = -g t)
 318    (h_g0 : g 0 = 0) :
 319    ∀ t, g t = 0 := by
 320  have h_const : ∀ t, deriv (fun s => g s * Real.exp s) t = 0 := by
 321    intro t
 322    have h1 : deriv (fun s => g s * Real.exp s) t =
 323              deriv g t * Real.exp t + g t * deriv Real.exp t := by
 324      apply deriv_mul h_diff.differentiableAt Real.differentiable_exp.differentiableAt
 325    rw [h1, Real.deriv_exp, h_deriv t]
 326    ring
 327  have h_diff_prod : Differentiable ℝ (fun s => g s * Real.exp s) := by
 328    apply Differentiable.mul h_diff Real.differentiable_exp
 329  have h_is_const := is_const_of_deriv_eq_zero h_diff_prod h_const
 330  intro t
 331  specialize h_is_const t 0
 332  simp only [Real.exp_zero, mul_one] at h_is_const
 333  have h_exp_pos : Real.exp t > 0 := Real.exp_pos t
 334  have h_exp_ne : Real.exp t ≠ 0 := h_exp_pos.ne'
 335  have h_eq : g t * Real.exp t = g 0 := h_is_const
 336  calc g t = g t * Real.exp t / Real.exp t := by field_simp
 337    _ = g 0 / Real.exp t := by rw [h_eq]
 338    _ = 0 / Real.exp t := by rw [h_g0]
 339    _ = 0 := by simp
 340
 341/-- If h' = h and h(0) = 0, then h = 0. -/
 342lemma deriv_pos_self_zero (h : ℝ → ℝ)
 343    (h_diff : Differentiable ℝ h)
 344    (h_deriv : ∀ t, deriv h t = h t)
 345    (h_h0 : h 0 = 0) :