lemma
proved
deriv_add_lin
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Relativity.Calculus.Derivatives on GitHub at line 60.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
57 secondDeriv f ⟨3, by decide⟩ ⟨3, by decide⟩ x
58
59/-- Linearity of the directional derivative. -/
60lemma deriv_add_lin (f g : (Fin 4 → ℝ) → ℝ) (μ : Fin 4)
61 (x : Fin 4 → ℝ) (hf : DifferentiableAt ℝ (fun t => f (coordRay x μ t)) 0)
62 (hg : DifferentiableAt ℝ (fun t => g (coordRay x μ t)) 0) :
63 partialDeriv_v2 (fun y => f y + g y) μ x =
64 partialDeriv_v2 f μ x + partialDeriv_v2 g μ x := by
65 unfold partialDeriv_v2
66 exact deriv_add hf hg
67
68/-- Linearity of directional derivative (scalar multiplication). -/
69lemma partialDeriv_v2_smul (f : (Fin 4 → ℝ) → ℝ) (c : ℝ) (μ : Fin 4)
70 (x : Fin 4 → ℝ) (hf : DifferentiableAt ℝ (fun t => f (coordRay x μ t)) 0) :
71 partialDeriv_v2 (fun y => c * f y) μ x = c * partialDeriv_v2 f μ x := by
72 unfold partialDeriv_v2
73 exact deriv_const_mul c hf
74
75/-- Localized version of second derivative linearity (scalar multiplication).
76 This only requires differentiability in a neighborhood of the point x. -/
77lemma secondDeriv_smul_local (f : (Fin 4 → ℝ) → ℝ) (c : ℝ) (μ ν : Fin 4)
78 (x : Fin 4 → ℝ)
79 (h1 : ∀ᶠ s in 𝓝 0, DifferentiableAt ℝ (fun t => f (coordRay (coordRay x ν s) μ t)) 0)
80 (h2 : DifferentiableAt ℝ (fun s => partialDeriv_v2 f μ (coordRay x ν s)) 0) :
81 secondDeriv (fun y => c * f y) μ ν x = c * secondDeriv f μ ν x := by
82 unfold secondDeriv
83 have h_ev : ∀ᶠ s in 𝓝 0, partialDeriv_v2 (fun z => c * f z) μ (coordRay x ν s) =
84 c * partialDeriv_v2 f μ (coordRay x ν s) := by
85 apply h1.mono
86 intro s hs
87 exact partialDeriv_v2_smul f c μ (coordRay x ν s) hs
88 rw [Filter.EventuallyEq.deriv_eq h_ev]
89 exact deriv_const_mul c h2
90