lemma
proved
secondDeriv_smul_local
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Relativity.Calculus.Derivatives on GitHub at line 77.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
formal source
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
91/-- Second derivative linearity (scalar multiplication). -/
92lemma secondDeriv_smul (f : (Fin 4 → ℝ) → ℝ) (c : ℝ) (μ ν : Fin 4)
93 (x : Fin 4 → ℝ)
94 (h1 : ∀ y, DifferentiableAt ℝ (fun t => f (coordRay y μ t)) 0)
95 (h2 : DifferentiableAt ℝ (fun s => partialDeriv_v2 f μ (coordRay x ν s)) 0) :
96 secondDeriv (fun y => c * f y) μ ν x = c * secondDeriv f μ ν x := by
97 unfold secondDeriv
98 have h_partial : ∀ y, partialDeriv_v2 (fun z => c * f z) μ y = c * partialDeriv_v2 f μ y := by
99 intro y
100 exact partialDeriv_v2_smul f c μ y (h1 y)
101 simp only [h_partial]
102 exact deriv_const_mul c h2
103
104/-- Laplacian linearity (scalar multiplication). -/
105lemma laplacian_smul (f : (Fin 4 → ℝ) → ℝ) (c : ℝ) (x : Fin 4 → ℝ)
106 (h1 : ∀ μ y, DifferentiableAt ℝ (fun t => f (coordRay y μ t)) 0)
107 (h2 : ∀ μ ν, DifferentiableAt ℝ (fun s => partialDeriv_v2 f μ (coordRay x ν s)) 0) :