def
definition
kinetic_action
show as:
view math explainer →
open explainer
Read the cached plain-language explainer.
open lean source
IndisputableMonolith.Relativity.Fields.Integration on GitHub at line 43.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
-
MetricTensor -
MetricTensor -
MetricTensor -
ScalarField -
integrate_scalar -
VolumeElement -
gradient_squared -
ScalarField -
MetricTensor -
ScalarField -
VolumeElement
used by
formal source
40 f (fun _ => (i : ℝ) * vol.grid_spacing))
41
42/-- Kinetic action integral: (1/2) ∫ √(-g) g^{μν} (∂_μ ψ)(∂_ν ψ) d⁴x. -/
43noncomputable def kinetic_action
44 (φ : ScalarField) (g : MetricTensor) (vol : VolumeElement) : ℝ :=
45 (1/2) * integrate_scalar (gradient_squared φ g) g vol
46
47/-- Potential action integral: (1/2) ∫ √(-g) m² ψ² d⁴x. -/
48noncomputable def potential_action
49 (φ : ScalarField) (m_squared : ℝ) (g : MetricTensor) (vol : VolumeElement) : ℝ :=
50 (m_squared / 2) * integrate_scalar (field_squared φ) g vol
51
52/-- Integration is linear (finite weighted sum).
53 STATUS: PROVED — Linearity of finite sums. -/
54theorem integrate_add (f₁ f₂ : (Fin 4 → ℝ) → ℝ) (g : MetricTensor) (vol : VolumeElement) :
55 integrate_scalar (fun x => f₁ x + f₂ x) g vol =
56 integrate_scalar f₁ g vol + integrate_scalar f₂ g vol := by
57 unfold integrate_scalar
58 simp [Finset.sum_add_distrib, mul_add]
59
60/-- Integration scaling property.
61 STATUS: PROVED — Scaling of finite sums. -/
62theorem integrate_smul (c : ℝ) (f : (Fin 4 → ℝ) → ℝ) (g : MetricTensor) (vol : VolumeElement) :
63 integrate_scalar (fun x => c * f x) g vol =
64 c * integrate_scalar f g vol := by
65 unfold integrate_scalar
66 -- LHS: Δx4 * Σᵢ (sqrt_g * (c * f)) = Δx4 * Σᵢ (c * sqrt_g * f)
67 -- RHS: c * (Δx4 * Σᵢ sqrt_g * f)
68 have h : ∀ i : ℕ, sqrt_minus_g g (fun _ => (i : ℝ) * vol.grid_spacing) *
69 (c * f (fun _ => (i : ℝ) * vol.grid_spacing)) =
70 c * (sqrt_minus_g g (fun _ => (i : ℝ) * vol.grid_spacing) *
71 f (fun _ => (i : ℝ) * vol.grid_spacing)) := by intro i; ring
72 simp_rw [h]
73 rw [← Finset.mul_sum]