theorem
proved
deriv_add
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Relativity.Fields.Scalar on GitHub at line 54.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
51 (φ.ψ x_plus - φ.ψ x) / h
52
53/-- Directional derivative is linear in the field. -/
54theorem deriv_add (φ₁ φ₂ : ScalarField) (μ : Fin 4) (x : Fin 4 → ℝ) :
55 directional_deriv (add φ₁ φ₂) μ x =
56 directional_deriv φ₁ μ x + directional_deriv φ₂ μ x := by
57 simp [directional_deriv, add]
58 ring
59
60theorem deriv_smul (c : ℝ) (φ : ScalarField) (μ : Fin 4) (x : Fin 4 → ℝ) :
61 directional_deriv (smul c φ) μ x = c * directional_deriv φ μ x := by
62 simp only [directional_deriv, smul]
63 ring
64
65/-- Derivative of constant field is zero. -/
66theorem deriv_constant (c : ℝ) (μ : Fin 4) (x : Fin 4 → ℝ) :
67 directional_deriv (constant c) μ x = 0 := by
68 simp only [directional_deriv, constant]
69 norm_num
70
71/-- Gradient: collection of all directional derivatives ∂_μ ψ. -/
72noncomputable def gradient (φ : ScalarField) (x : Fin 4 → ℝ) : Fin 4 → ℝ :=
73 fun μ => directional_deriv φ μ x
74
75/-- Squared gradient g^{μν} (∂_μ ψ)(∂_ν ψ) with inverse metric. -/
76noncomputable def gradient_squared (φ : ScalarField) (g : MetricTensor) (x : Fin 4 → ℝ) : ℝ :=
77 Finset.sum (Finset.univ : Finset (Fin 4)) (fun μ =>
78 Finset.sum (Finset.univ : Finset (Fin 4)) (fun ν =>
79 (inverse_metric g) x (fun i => if (i : ℕ) = 0 then μ else ν) (fun _ => 0) *
80 (gradient φ x μ) * (gradient φ x ν)))
81
82/-- Gradient squared for Minkowski metric. -/
83theorem gradient_squared_minkowski (φ : ScalarField) (x : Fin 4 → ℝ) :
84 gradient_squared φ minkowski_tensor x =