diff --git a/Physicslib4.lean b/Physicslib4.lean index bd79b45..a500fc3 100644 --- a/Physicslib4.lean +++ b/Physicslib4.lean @@ -59,8 +59,12 @@ import Physicslib4.GNS.Separating import Physicslib4.GNS.Superselection import Physicslib4.GNS.UnitaryEquiv import Physicslib4.GNS.UnitaryRepresentation +import Physicslib4.Geometry.PseudoRiemannian.Basic +import Physicslib4.Geometry.PseudoRiemannian.Flat +import Physicslib4.Geometry.PseudoRiemannian.LeviCivita import Physicslib4.Operators.Conjugation import Physicslib4.Operators.LpDiagonal +import Physicslib4.Spacetime.AlongPath import Physicslib4.Spacetime.Basic import Physicslib4.Spacetime.CausalComplement import Physicslib4.Spacetime.CausalStructure diff --git a/Physicslib4/Geometry/PseudoRiemannian/Basic.lean b/Physicslib4/Geometry/PseudoRiemannian/Basic.lean new file mode 100644 index 0000000..c372b32 --- /dev/null +++ b/Physicslib4/Geometry/PseudoRiemannian/Basic.lean @@ -0,0 +1,97 @@ +/- +Copyright (c) 2026 Lean Community. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Lean Community +-/ +import Mathlib.Geometry.Manifold.VectorBundle.Hom +import Mathlib.Geometry.Manifold.VectorBundle.Tangent +import Physicslib4.Spacetime.Basic + +/-! +# Pseudo-Riemannian metrics + +A *pseudo-Riemannian metric* on a manifold `M` modelled on `(E, H)` with model `I` is a +smooth family of symmetric, nondegenerate continuous bilinear forms on the tangent spaces. +Unlike Mathlib's `Bundle.ContMDiffRiemannianMetric`, no positivity is required, so Lorentzian +metrics are included. The smoothness condition has the same bundle-section shape as +`Bundle.ContMDiffRiemannianMetric.contMDiff`. + +## Main definitions + +* `Physicslib4.Geometry.PseudoRiemannianMetric`: the structure. +* `Physicslib4.Spacetime.toPseudoRiemannianMetric`: the metric of a spacetime. + +## Main results + +* `Physicslib4.Geometry.PseudoRiemannianMetric.bijective_val`: at each point, `v ↦ g_x(v, ·)` is + a linear isomorphism `T_xM → T_x*M` (the musical isomorphism). + +Blueprint reference: `def:pseudo-riemannian-metric`, `lmm:musical-isomorphism`. +-/ + +open Bundle +open scoped Manifold ContDiff + +namespace Physicslib4 + +namespace Geometry + +variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] + {H : Type*} [TopologicalSpace H] (I : ModelWithCorners ℝ E H) + (M : Type*) [TopologicalSpace M] [ChartedSpace H M] [IsManifold I ∞ M] + +/-- A **pseudo-Riemannian metric** on `M`: a smooth section `g` of the bundle of continuous +bilinear forms on `TM` that is symmetric and nondegenerate at every point. No positivity is +required. + +Blueprint reference: `def:pseudo-riemannian-metric`. -/ +structure PseudoRiemannianMetric where + /-- The bilinear form `g_x` on `T_xM`. -/ + val : ∀ x : M, TangentSpace I x →L[ℝ] TangentSpace I x →L[ℝ] ℝ + /-- Symmetry: `g_x(v, w) = g_x(w, v)`. -/ + symm : ∀ (x : M) (v w : TangentSpace I x), val x v w = val x w v + /-- Nondegeneracy: if `g_x(v, w) = 0` for all `w`, then `v = 0`. -/ + nondegenerate : ∀ (x : M) (v : TangentSpace I x), (∀ w, val x v w = 0) → v = 0 + /-- Smoothness of `g` as a section of the bundle of bilinear forms on `TM`. -/ + contMDiff : ContMDiff I (I.prod 𝓘(ℝ, E →L[ℝ] E →L[ℝ] ℝ)) ∞ + (fun x ↦ TotalSpace.mk' (E →L[ℝ] E →L[ℝ] ℝ) + (E := fun x ↦ TangentSpace I x →L[ℝ] TangentSpace I x →L[ℝ] ℝ) x (val x)) + +namespace PseudoRiemannianMetric + +variable {I M} + +/-- **The musical isomorphism.** At each point `x`, the map `v ↦ g_x(v, ·)` from `T_xM` to its +dual is bijective: injective by nondegeneracy and hence bijective since `T_xM` is +finite-dimensional. + +Blueprint reference: `lmm:musical-isomorphism`. -/ +theorem bijective_val [FiniteDimensional ℝ E] (g : PseudoRiemannianMetric I M) (x : M) : + Function.Bijective (g.val x) := by + let A : E →L[ℝ] E →L[ℝ] ℝ := g.val x + change Function.Bijective A + have hinj : Function.Injective (A : E →ₗ[ℝ] E →L[ℝ] ℝ) := by + rw [← LinearMap.ker_eq_bot, LinearMap.ker_eq_bot'] + exact fun v hv ↦ g.nondegenerate x v fun w ↦ DFunLike.congr_fun hv w + have hrank : Module.finrank ℝ E = Module.finrank ℝ (E →L[ℝ] ℝ) := by + rw [← (LinearMap.toContinuousLinearMap (𝕜 := ℝ) (E := E) (F' := ℝ)).finrank_eq] + exact (Subspace.dual_finrank_eq).symm + exact ⟨hinj, (LinearMap.injective_iff_surjective_of_finrank_eq_finrank hrank).1 hinj⟩ + +end PseudoRiemannianMetric + +end Geometry + +attribute [local instance] Spacetime.topology Spacetime.chartedSpace Spacetime.isManifold + +/-- The metric of a spacetime is a pseudo-Riemannian metric on its manifold. + +Blueprint reference: `def:pseudo-riemannian-metric`. -/ +def Spacetime.toPseudoRiemannianMetric (M : Spacetime) : + Geometry.PseudoRiemannianMetric M.model M.Carrier where + val := M.val + symm := M.symm + nondegenerate := M.nondegenerate + contMDiff := M.contMDiff + +end Physicslib4 diff --git a/Physicslib4/Geometry/PseudoRiemannian/Flat.lean b/Physicslib4/Geometry/PseudoRiemannian/Flat.lean new file mode 100644 index 0000000..359ac77 --- /dev/null +++ b/Physicslib4/Geometry/PseudoRiemannian/Flat.lean @@ -0,0 +1,117 @@ +/- +Copyright (c) 2026 Lean Community. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Lean Community +-/ +import Physicslib4.Geometry.PseudoRiemannian.LeviCivita + +/-! +# The flat connection on a vector space + +On a finite-dimensional real vector space `E`, viewed as a manifold over itself, the tangent +bundle is trivial and the ordinary directional derivative `∇_v σ = Dσ(v)` is a covariant +derivative. For a pseudo-Riemannian metric that is constant (the same bilinear form at every +point), it is the Levi-Civita connection. This is the flat case used for Minkowski spacetime. + +## Main definitions + +* `Physicslib4.Geometry.flatConnection`: `σ ↦ (x ↦ fderiv ℝ σ x)`. + +## Main results + +* `PseudoRiemannianMetric.isLeviCivitaFor_flatConnection`: for a constant metric, the flat + connection is a Levi-Civita connection. +* `PseudoRiemannianMetric.leviCivita_apply_eq_fderiv`: hence the Levi-Civita connection of a + constant metric is the directional derivative on differentiable vector fields. + +Blueprint reference: `lmm:minkowski-directional-derivative-levi-civita`, +`lmm:minkowski-levi-civita-flat`. +-/ + +open Bundle +open scoped Manifold ContDiff + +namespace Physicslib4 + +namespace Geometry + +variable (E : Type*) [NormedAddCommGroup E] [NormedSpace ℝ E] + +/-- The directional derivative is a covariant derivative on the tangent bundle of `E`. + +Blueprint reference: `lmm:minkowski-directional-derivative-levi-civita`. -/ +theorem isCovariantDerivativeOn_fderiv : + IsCovariantDerivativeOn E + (fun (σ : Π x : E, TangentSpace 𝓘(ℝ, E) x) (x : E) ↦ + (fderiv ℝ (fun y ↦ (σ y : E)) x : TangentSpace 𝓘(ℝ, E) x →L[ℝ] TangentSpace 𝓘(ℝ, E) x)) + Set.univ := by + have hd : ∀ {σ : Π x : E, TangentSpace 𝓘(ℝ, E) x} {x : E}, MDiffAt (T% σ) x → + DifferentiableAt ℝ (F := E) (fun y ↦ σ y) x := fun {σ x} h ↦ + mdifferentiableAt_iff_differentiableAt.1 <| + ((contMDiff_snd_tangentBundle_modelSpace E 𝓘(ℝ, E) (n := 1)).mdifferentiable + one_ne_zero _).comp x h + refine ⟨fun {σ σ' x} hσ hσ' _ ↦ ?_, fun {σ g x} hσ hg _ ↦ ?_⟩ + · have h := fderiv_add (F := E) (hd hσ) (hd hσ') + exact h + · have h := fderiv_smul (F := E) (mdifferentiableAt_iff_differentiableAt.1 hg) (hd hσ) + rw [← mfderiv_eq_fderiv (E := E) (E' := ℝ)] at h + exact h + +/-- The **flat connection** on `E`: `∇_v σ = Dσ(v)`. + +Blueprint reference: `lmm:minkowski-directional-derivative-levi-civita`. -/ +noncomputable def flatConnection : + _root_.CovariantDerivative 𝓘(ℝ, E) E (TangentSpace 𝓘(ℝ, E) : E → Type _) where + toFun σ x := fderiv ℝ (fun y ↦ (σ y : E)) x + isCovariantDerivativeOnUniv := isCovariantDerivativeOn_fderiv E + +theorem flatConnection_apply (σ : Π x : E, TangentSpace 𝓘(ℝ, E) x) (x : E) + (v : TangentSpace 𝓘(ℝ, E) x) : + flatConnection E σ x v = fderiv ℝ (fun y ↦ (σ y : E)) x v := rfl + +namespace PseudoRiemannianMetric + +variable {E} [FiniteDimensional ℝ E] + +/-- For a metric that is the same bilinear form `B` at every point, the flat connection is a +Levi-Civita connection. + +Blueprint reference: `lmm:minkowski-directional-derivative-levi-civita`. -/ +theorem isLeviCivitaFor_flatConnection (g : PseudoRiemannianMetric 𝓘(ℝ, E) E) + (B : E →L[ℝ] E →L[ℝ] ℝ) (hg : ∀ x, g.val x = B) : + CovariantDerivative.IsLeviCivitaFor g (flatConnection E) := by + have hdiff : ∀ {V : Π x : E, TangentSpace 𝓘(ℝ, E) x} {x : E}, MDiffAt (T% V) x → + DifferentiableAt ℝ (fun y ↦ (V y : E)) x := fun {V x} h ↦ + ((contMDiff_snd_tangentBundle_modelSpace E 𝓘(ℝ, E)).mdifferentiableAt one_ne_zero + |>.comp x h).differentiableAt + refine ⟨fun x X σ τ _ hσ hτ ↦ ?_, ?_⟩ + · have h1 := hdiff hσ + have h2 := hdiff hτ + have hfun : (fun y ↦ g.val y (σ y) (τ y)) = fun y ↦ B (σ y) (τ y) := + funext fun y ↦ by rw [hg]; rfl + simp only [hg, flatConnection_apply] + rw [hfun, mfderiv_eq_fderiv, (B.hasFDerivAt_of_bilinear h1.hasFDerivAt h2.hasFDerivAt).fderiv] + exact add_comm _ _ + · rw [_root_.CovariantDerivative.torsion_eq_zero_iff] + intro X Y x _ _ + rw [← VectorField.mlieBracketWithin_univ, VectorField.mlieBracketWithin_eq_lieBracketWithin] + have := VectorField.lieBracketWithin_univ (𝕜 := ℝ) (V := fun y ↦ (X y : E)) + (W := fun y ↦ (Y y : E)) + exact ((congrFun this x).trans (congrFun (VectorField.lieBracket_eq (𝕜 := ℝ)) x)).symm + +/-- **The Levi-Civita connection of a constant metric is flat**: on vector fields +differentiable at `x`, it is the directional derivative. + +Blueprint reference: `lmm:minkowski-levi-civita-flat`. -/ +theorem leviCivita_apply_eq_fderiv (g : PseudoRiemannianMetric 𝓘(ℝ, E) E) + (B : E →L[ℝ] E →L[ℝ] ℝ) (hg : ∀ x, g.val x = B) {X : Π x : E, TangentSpace 𝓘(ℝ, E) x} + {x : E} (hX : MDiffAt (T% X) x) (v : TangentSpace 𝓘(ℝ, E) x) : + g.leviCivita X x v = fderiv ℝ (fun y ↦ (X y : E)) x v := + (g.isLeviCivitaFor_leviCivita.uniqueness (g.isLeviCivitaFor_flatConnection B hg) hX v).trans + (flatConnection_apply E X x v) + +end PseudoRiemannianMetric + +end Geometry + +end Physicslib4 diff --git a/Physicslib4/Geometry/PseudoRiemannian/LeviCivita.lean b/Physicslib4/Geometry/PseudoRiemannian/LeviCivita.lean new file mode 100644 index 0000000..466090f --- /dev/null +++ b/Physicslib4/Geometry/PseudoRiemannian/LeviCivita.lean @@ -0,0 +1,383 @@ +/- +Copyright (c) 2026 Lean Community. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Lean Community +-/ +import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Torsion +import Physicslib4.Geometry.PseudoRiemannian.Basic + +/-! +# The Levi-Civita connection of a pseudo-Riemannian metric + +This file adapts Mathlib's Levi-Civita connection of a Riemannian manifold +(`Mathlib/Geometry/Manifold/VectorBundle/CovariantDerivative/LeviCivita.lean`) to a +pseudo-Riemannian metric `g`, which need not be positive definite. Mathlib's covariant +derivatives (`CovariantDerivative`) and torsion (`CovariantDerivative.torsion`) are used as they +are; the inner product of Mathlib's `IsMetricCompatible` is replaced by `g`. + +## Main definitions + +* `CovariantDerivative.IsMetricCompatibleWith`: `X g(σ, τ) = g(∇_X σ, τ) + g(σ, ∇_X τ)`. +* `CovariantDerivative.IsLeviCivitaFor`: torsion-free and metric-compatible. +* `PseudoRiemannianMetric.leviCivita`: the Levi-Civita connection of `g`. + +## Main results + +* `CovariantDerivative.IsLeviCivitaFor.koszul`: the Koszul formula. +* `CovariantDerivative.IsLeviCivitaFor.uniqueness`: uniqueness on differentiable vector fields. +* `PseudoRiemannianMetric.exists_isLeviCivitaFor`: existence. + +Blueprint reference: `def:metric-compatible-connection`, `def:levi-civita-connection`, +`lmm:koszul-formula`, `thrm:levi-civita-exists-unique`. +-/ + +open Bundle VectorField +open scoped Manifold ContDiff + +namespace Physicslib4 + +namespace Geometry + +variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] + {H : Type*} [TopologicalSpace H] {I : ModelWithCorners ℝ E H} + {M : Type*} [TopologicalSpace M] [ChartedSpace H M] [IsManifold I ∞ M] + [FiniteDimensional ℝ E] + +namespace CovariantDerivative + +/-- A covariant derivative `∇` on `TM` is **compatible** with the pseudo-Riemannian metric `g` +if `X g(σ, τ) = g(∇_X σ, τ) + g(σ, ∇_X τ)` at every point where the vector fields `X`, `σ` +and `τ` are differentiable. This is the condition of Mathlib's +`CovariantDerivative.isMetricCompatible_iff`, with `g` in place of the inner product. + +Blueprint reference: `def:metric-compatible-connection`. -/ +def IsMetricCompatibleWith (g : PseudoRiemannianMetric I M) + (cov : _root_.CovariantDerivative I E (TangentSpace I : M → Type _)) : Prop := + ∀ ⦃x : M⦄ ⦃X σ τ : Π x : M, TangentSpace I x⦄, + MDiffAt (T% X) x → MDiffAt (T% σ) x → MDiffAt (T% τ) x → + (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (σ y) (τ y)) x (X x)) + = g.val x (cov σ x (X x)) (τ x) + g.val x (σ x) (cov τ x (X x)) + +/-- A covariant derivative on `TM` is a **Levi-Civita connection** for `g` if it is +torsion-free and compatible with `g`. + +Blueprint reference: `def:levi-civita-connection`. -/ +structure IsLeviCivitaFor (g : PseudoRiemannianMetric I M) + (cov : _root_.CovariantDerivative I E (TangentSpace I : M → Type _)) : Prop where + /-- Compatibility with `g`. -/ + isMetricCompatibleWith : IsMetricCompatibleWith g cov + /-- Vanishing torsion. -/ + torsion : cov.torsion = 0 + +variable {g : PseudoRiemannianMetric I M} + {cov cov' : _root_.CovariantDerivative I E (TangentSpace I : M → Type _)} + +/-- **The Koszul formula.** For a Levi-Civita connection of `g` and vector fields `X`, `Y`, `Z` +differentiable at `x`, `2 g(∇_X Y, Z)` is expressed through derivatives of `g` and Lie brackets +alone, without reference to `∇`. This is Mathlib's `IsLeviCivitaConnection.apply_eq` multiplied +by 2, with `g` in place of the inner product; the blueprint's form of the formula is the same +statement after `mlieBracket_swap` and the symmetry of `g`. + +Blueprint reference: `lmm:koszul-formula`. -/ +theorem IsLeviCivitaFor.koszul (h : IsLeviCivitaFor g cov) {x : M} + {X Y Z : Π x : M, TangentSpace I x} + (hX : MDiffAt (T% X) x) (hY : MDiffAt (T% Y) x) (hZ : MDiffAt (T% Z) x) : + 2 * g.val x (cov Y x (X x)) (Z x) = + (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (Y y) (Z y)) x (X x)) + + (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (Z y) (X y)) x (Y x)) + - (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (X y) (Y y)) x (Z x)) + - g.val x (Y x) (mlieBracket I X Z x) + - g.val x (Z x) (mlieBracket I Y X x) + + g.val x (X x) (mlieBracket I Z Y x) := by + -- use the compatibility with `g` in three ways + have eq1a := h.isMetricCompatibleWith hX hY hZ + have eq2a := h.isMetricCompatibleWith hY hZ hX + have eq3a := h.isMetricCompatibleWith hZ hX hY + -- use the torsion-freeness in three ways + have eq1b := congr(g.val x (Y x) ($(h.torsion) x (X x) (Z x))) + have eq2b := congr(g.val x (Z x) ($(h.torsion) x (Y x) (X x))) + have eq3b := congr(g.val x (X x) ($(h.torsion) x (Z x) (Y x))) + rw [cov.torsion_apply hX hZ] at eq1b + rw [cov.torsion_apply hY hX] at eq2b + rw [cov.torsion_apply hZ hY] at eq3b + simp only [map_sub, Pi.zero_apply, zero_apply, map_zero] at eq1b eq2b eq3b + -- align the order of the arguments of `g` + rw [g.symm x (cov Z x (Y x)) (X x)] at eq2a + rw [g.symm x (cov X x (Z x)) (Y x)] at eq3a + rw [g.symm x (Z x) (cov Y x (X x))] at eq2b + linear_combination -(eq1a + eq2a - eq3a + eq1b + eq2b - eq3b) + +/-- **Uniqueness of the Levi-Civita connection.** Two Levi-Civita connections of `g` agree on +every vector field differentiable at `x`. (Covariant derivatives are unconstrained on +non-differentiable vector fields, as in Mathlib's `IsLeviCivitaConnection.uniqueness`.) + +Blueprint reference: `thrm:levi-civita-exists-unique`. -/ +theorem IsLeviCivitaFor.uniqueness (hcov : IsLeviCivitaFor g cov) + (hcov' : IsLeviCivitaFor g cov') {x : M} {Y : Π x : M, TangentSpace I x} + (hY : MDiffAt (T% Y) x) (X₀ : TangentSpace I x) : + cov Y x X₀ = cov' Y x X₀ := by + set X := FiberBundle.extend E X₀ + have hX : MDiffAt (T% X) x := FiberBundle.mdifferentiableAt_extend I E X₀ + have hXx : X x = X₀ := FiberBundle.extend_apply_self E X₀ + have key : g.val x (cov Y x X₀) = g.val x (cov' Y x X₀) := by + apply VectorBundle.injective_eval_mdifferentiableAt_sec I E (TangentSpace I) ℝ x + ext Z hZ + have h1 := hcov.koszul hX hY hZ + have h2 := hcov'.koszul hX hY hZ + rw [hXx] at h1 h2 + simp only + linarith + have h := g.nondegenerate x (cov Y x X₀ - cov' Y x X₀) fun w ↦ by + rw [map_sub, key, sub_self, zero_apply] + exact sub_eq_zero.mp h + +end CovariantDerivative + +namespace PseudoRiemannianMetric + +/-! ### Existence + +The construction follows Mathlib's `CovariantDerivative.leviCivitaConnection`: the right-hand +side of the Koszul formula (`koszulAux`) is tensorial in `X` and `Z`, hence a bilinear form at +each point, and the musical isomorphism `flatEquiv` turns it into the desired `∇_X Y`. -/ + +variable (g : PseudoRiemannianMetric I M) + +/-- The **musical isomorphism** `v ↦ g_x(v, ·)` as a continuous linear equivalence +(`bijective_val`). + +Blueprint reference: `lmm:musical-isomorphism`. -/ +noncomputable def flatEquiv (x : M) : + TangentSpace I x ≃L[ℝ] (TangentSpace I x →L[ℝ] ℝ) := + haveI : FiniteDimensional ℝ (TangentSpace I x) := inferInstanceAs (FiniteDimensional ℝ E) + (LinearEquiv.ofBijective (g.val x : TangentSpace I x →ₗ[ℝ] TangentSpace I x →L[ℝ] ℝ) + (g.bijective_val x)).toContinuousLinearEquiv + +theorem flatEquiv_apply (x : M) (v : TangentSpace I x) : g.flatEquiv x v = g.val x v := rfl + +variable {X Y Z : Π x : M, TangentSpace I x} + +variable (X Y Z) in +/-- The right-hand side of the Koszul formula, divided by 2: for the Levi-Civita connection +this is `g(∇_X Y, Z)`. + +Blueprint reference: `lmm:koszul-expression-tensorial`. -/ +noncomputable def koszulAux (x : M) : ℝ := + ((show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (Y y) (Z y)) x (X x)) + + (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (Z y) (X y)) x (Y x)) + - (show ℝ from mfderiv I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (X y) (Y y)) x (Z x)) + - g.val x (Y x) (mlieBracket I X Z x) + - g.val x (Z x) (mlieBracket I Y X x) + + g.val x (X x) (mlieBracket I Z Y x)) / 2 + +omit [FiniteDimensional ℝ E] in +/-- `y ↦ g_y(Y y, Z y)` is differentiable at `x` if `Y` and `Z` are. -/ +theorem mdifferentiableAt_val_apply {x : M} (hY : MDiffAt (T% Y) x) + (hZ : MDiffAt (T% Z) x) : + MDifferentiableAt I 𝓘(ℝ, ℝ) (fun y ↦ g.val y (Y y) (Z y)) x := by + have := MDifferentiableAt.clm_bundle_apply₂ (F₃ := ℝ) (E₃ := Bundle.Trivial M ℝ) + ((g.contMDiff x).mdifferentiableAt (by simp)) hY hZ + simp only [mdifferentiableAt_totalSpace] at this + exact this.2 + +omit [IsManifold I ∞ M] [FiniteDimensional ℝ E] in +/-- The real-valued `mfderiv` terms of `koszulAux` are `mvfderiv` terms. -/ +theorem mfderiv_apply_eq_mvfderiv (F : M → ℝ) {x : M} (v : TangentSpace I x) : + (show ℝ from mfderiv I 𝓘(ℝ, ℝ) F x v) = d% F x v := rfl + +/-- `koszulAux` is tensorial in its first argument. + +Blueprint reference: `lmm:koszul-expression-tensorial`. -/ +theorem tensorialAt_koszulAux₁ (x : M) (hY : MDiffAt (T% Y) x) (hZ : MDiffAt (T% Z) x) : + TensorialAt I E (g.koszulAux · Y Z x) x where + smul {f X} hf hX := by + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.smul_apply', map_smul, smul_apply, smul_eq_mul, mvfderiv_fun_mul, add_apply, + mlieBracket_smul_left hf hX, mlieBracket_smul_right hf hX, map_add, neg_mul] + rw [g.symm x (X x) (Y x)] + ring + add {X X'} hX hX' := by + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.add_apply, map_add, add_apply, mvfderiv_fun_add, mlieBracket_add_left hX hX', + mlieBracket_add_right hX hX'] + ring + +/-- `koszulAux` is tensorial in its third argument. + +Blueprint reference: `lmm:koszul-expression-tensorial`. -/ +theorem tensorialAt_koszulAux₃ (x : M) (hY : MDiffAt (T% Y) x) (hX : MDiffAt (T% X) x) : + TensorialAt I E (g.koszulAux X Y · x) x where + smul {f Z} hf hZ := by + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.smul_apply', map_smul, smul_apply, smul_eq_mul, mvfderiv_fun_mul, add_apply, + mlieBracket_smul_left hf hZ, mlieBracket_smul_right hf hZ, map_add, neg_mul] + rw [g.symm x (Y x) (Z x), g.symm x (X x) (Z x)] + ring + add {Z Z'} hZ hZ' := by + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.add_apply, map_add, add_apply, mvfderiv_fun_add, mlieBracket_add_left hZ hZ', + mlieBracket_add_right hZ hZ'] + ring + +/-- The candidate `∇ Y` at `x` for a vector field `Y` differentiable at `x`. -/ +noncomputable def leviCivitaAuxOfMDiffAt {x : M} (hY : MDiffAt (T% Y) x) : + TangentSpace I x →L[ℝ] TangentSpace I x := + (g.flatEquiv x).symm.toContinuousLinearMap ∘L + TensorialAt.mkHom₂ (fun X Z ↦ g.koszulAux X Y Z x) x + (fun _Z hZ ↦ g.tensorialAt_koszulAux₁ x hY hZ) + (fun _X hX ↦ g.tensorialAt_koszulAux₃ x hY hX) + +open scoped Classical in +/-- The function underlying the Levi-Civita connection of `g` (zero on vector fields that are +not differentiable at the point). -/ +noncomputable def leviCivitaAux (Y : Π x : M, TangentSpace I x) (x : M) : + TangentSpace I x →L[ℝ] TangentSpace I x := + if hY : MDiffAt (T% Y) x then g.leviCivitaAuxOfMDiffAt hY else 0 + +/-- `g(∇_X Y, Z) = koszulAux X Y Z` for the constructed connection. -/ +theorem leviCivitaAux_apply_val {x : M} (hX : MDiffAt (T% X) x) (hY : MDiffAt (T% Y) x) + (hZ : MDiffAt (T% Z) x) : + g.val x (g.leviCivitaAux Y x (X x)) (Z x) = g.koszulAux X Y Z x := by + rw [leviCivitaAux, dite_eq_left hY, leviCivitaAuxOfMDiffAt, ← flatEquiv_apply] + simp [TensorialAt.mkHom₂_apply _ _ hX hZ] + +omit [FiniteDimensional ℝ E] in +/-- A tangent vector is determined by its `g`-pairings with vector fields differentiable at the +point. -/ +theorem eq_of_forall_val_apply_eq {x : M} {v w : TangentSpace I x} + (h : ∀ Z : Π x : M, TangentSpace I x, MDiffAt (T% Z) x → + g.val x v (Z x) = g.val x w (Z x)) : v = w := by + have key : g.val x v = g.val x w := by + apply VectorBundle.injective_eval_mdifferentiableAt_sec I E (TangentSpace I) ℝ x + ext Z hZ + exact h Z hZ + exact sub_eq_zero.mp <| g.nondegenerate x (v - w) fun u ↦ by + rw [map_sub, key, sub_self, zero_apply] + +/-- The constructed operator is a covariant derivative. + +Blueprint reference: `lmm:koszul-connection-is-covariant-derivative`. -/ +theorem isCovariantDerivativeOn_leviCivitaAux : + IsCovariantDerivativeOn E (g.leviCivitaAux (M := M)) where + add {Y Y' x} hY hY' _ := by + have hYY' : MDiffAt (T% (Y + Y')) x := mdifferentiableAt_add_section hY hY' + apply injective_eval_mdifferentiableAt_vectorField I (TangentSpace I x) x + ext X hX + apply g.eq_of_forall_val_apply_eq + intro Z hZ + simp only [add_apply, map_add, + g.leviCivitaAux_apply_val hX hYY' hZ, g.leviCivitaAux_apply_val hX hY hZ, + g.leviCivitaAux_apply_val hX hY' hZ] + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.add_apply, map_add, add_apply, mvfderiv_fun_add, mlieBracket_add_left hY hY', + mlieBracket_add_right hY hY'] + ring + leibniz {Y f x} hY hf _ := by + have hfY : MDiffAt (T% (f • Y)) x := hf.smul_section hY + apply injective_eval_mdifferentiableAt_vectorField I (TangentSpace I x) x + ext X hX + apply g.eq_of_forall_val_apply_eq + intro Z hZ + simp only [add_apply, smul_apply, ContinuousLinearMap.smulRight_apply, map_add, map_smul, + g.leviCivitaAux_apply_val hX hfY hZ, g.leviCivitaAux_apply_val hX hY hZ] + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] + simp (disch := first | assumption | exact g.mdifferentiableAt_val_apply ‹_› ‹_›) only + [Pi.smul_apply', map_smul, smul_apply, smul_eq_mul, mvfderiv_fun_mul, add_apply, + mlieBracket_smul_left hf hY, mlieBracket_smul_right hf hY, map_add, neg_mul] + rw [g.symm x (Z x) (Y x)] + ring + +/-- The covariant derivative constructed from the Koszul formula. -/ +noncomputable def koszulConnection : + _root_.CovariantDerivative I E (TangentSpace I : M → Type _) where + toFun := g.leviCivitaAux + isCovariantDerivativeOnUniv := g.isCovariantDerivativeOn_leviCivitaAux + +/-- The Koszul connection is compatible with `g`. + +Blueprint reference: `lmm:koszul-connection-is-levi-civita`. -/ +theorem isMetricCompatibleWith_koszulConnection : + CovariantDerivative.IsMetricCompatibleWith g g.koszulConnection := by + intro x X σ τ hX hσ hτ + change _ = g.val x (g.leviCivitaAux σ x (X x)) (τ x) + + g.val x (σ x) (g.leviCivitaAux τ x (X x)) + rw [g.symm x (σ x) (g.leviCivitaAux τ x (X x)), + g.leviCivitaAux_apply_val hX hσ hτ, g.leviCivitaAux_apply_val hX hτ hσ] + have h₁ : (fun y ↦ g.val y (τ y) (σ y)) = fun y ↦ g.val y (σ y) (τ y) := + funext fun y ↦ g.symm y _ _ + have h₂ : (fun y ↦ g.val y (σ y) (X y)) = fun y ↦ g.val y (X y) (σ y) := + funext fun y ↦ g.symm y _ _ + have h₃ : (fun y ↦ g.val y (τ y) (X y)) = fun y ↦ g.val y (X y) (τ y) := + funext fun y ↦ g.symm y _ _ + simp only [koszulAux, mfderiv_apply_eq_mvfderiv, h₁, h₂, h₃] + rw [mlieBracket_swap (V := τ) (W := σ), mlieBracket_swap (V := τ) (W := X), + mlieBracket_swap (V := σ) (W := X)] + simp only [Pi.neg_apply, map_neg] + ring + +/-- The Koszul connection is torsion-free. + +Blueprint reference: `lmm:koszul-connection-is-levi-civita`. -/ +theorem torsion_koszulConnection_eq_zero : g.koszulConnection.torsion = 0 := by + rw [_root_.CovariantDerivative.torsion_eq_zero_iff] + intro X Y x hX hY + have key : g.val x (g.koszulConnection Y x (X x) - g.koszulConnection X x (Y x)) = + g.val x (mlieBracket I X Y x) := by + apply VectorBundle.injective_eval_mdifferentiableAt_sec I E (TangentSpace I) ℝ x + ext Z hZ + have h1 := g.leviCivitaAux_apply_val hX hY hZ + have h2 := g.leviCivitaAux_apply_val hY hX hZ + have e1 : (fun y ↦ g.val y (Z y) (Y y)) = fun y ↦ g.val y (Y y) (Z y) := + funext fun y ↦ g.symm y _ _ + have e2 : (fun y ↦ g.val y (Z y) (X y)) = fun y ↦ g.val y (X y) (Z y) := + funext fun y ↦ g.symm y _ _ + have e3 : (fun y ↦ g.val y (Y y) (X y)) = fun y ↦ g.val y (X y) (Y y) := + funext fun y ↦ g.symm y _ _ + simp only [koszulAux, mfderiv_apply_eq_mvfderiv] at h1 h2 + rw [e2] at h1 + rw [e1, e3] at h2 + change g.val x (g.leviCivitaAux Y x (X x) - g.leviCivitaAux X x (Y x)) (Z x) = + g.val x (mlieBracket I X Y x) (Z x) + rw [map_sub, sub_apply, h1, h2, mlieBracket_swap (V := Y) (W := X), + mlieBracket_swap (V := Z) (W := X), mlieBracket_swap (V := Z) (W := Y)] + simp only [Pi.neg_apply, map_neg] + rw [g.symm x (Y x) (mlieBracket I X Z x), g.symm x (X x) (mlieBracket I Y Z x), + g.symm x (Z x) (mlieBracket I X Y x)] + ring + have h := g.nondegenerate x (g.koszulConnection Y x (X x) - g.koszulConnection X x (Y x) - + mlieBracket I X Y x) fun w ↦ by rw [map_sub, key, sub_self, zero_apply] + exact sub_eq_zero.mp h + +/-- **Existence of the Levi-Civita connection.** Every pseudo-Riemannian metric has a +Levi-Civita connection. + +Blueprint reference: `thrm:levi-civita-exists-unique`. -/ +theorem exists_isLeviCivitaFor (g : PseudoRiemannianMetric I M) : + ∃ cov : _root_.CovariantDerivative I E (TangentSpace I : M → Type _), + CovariantDerivative.IsLeviCivitaFor g cov := + ⟨g.koszulConnection, g.isMetricCompatibleWith_koszulConnection, + g.torsion_koszulConnection_eq_zero⟩ + +/-- A choice of **Levi-Civita connection** of `g`. It is unique on differentiable vector fields +(`CovariantDerivative.IsLeviCivitaFor.uniqueness`). + +Blueprint reference: `thrm:levi-civita-exists-unique`. -/ +noncomputable def leviCivita (g : PseudoRiemannianMetric I M) : + _root_.CovariantDerivative I E (TangentSpace I : M → Type _) := + g.exists_isLeviCivitaFor.choose + +/-- The chosen `leviCivita` connection is a Levi-Civita connection of `g`. -/ +theorem isLeviCivitaFor_leviCivita (g : PseudoRiemannianMetric I M) : + CovariantDerivative.IsLeviCivitaFor g g.leviCivita := + g.exists_isLeviCivitaFor.choose_spec + +end PseudoRiemannianMetric + +end Geometry + +end Physicslib4 diff --git a/Physicslib4/Spacetime/AlongPath.lean b/Physicslib4/Spacetime/AlongPath.lean new file mode 100644 index 0000000..cd1aeef --- /dev/null +++ b/Physicslib4/Spacetime/AlongPath.lean @@ -0,0 +1,333 @@ +/- +Copyright (c) 2026 Lean Community. All rights reserved. +Released under Apache 2.0 license as described in the file LICENSE. +Authors: Lean Community +-/ +import Mathlib.Geometry.Manifold.VectorBundle.CovariantDerivative.Basic +import Physicslib4.Spacetime.Curves +import Physicslib4.Geometry.PseudoRiemannian.LeviCivita +import Mathlib.Geometry.Manifold.BumpFunction +import Mathlib.Geometry.Manifold.VectorBundle.ContMDiffSection +import Mathlib.Analysis.Calculus.ContDiff.Deriv +import Mathlib.Analysis.Calculus.InverseFunctionTheorem.ContDiff + +/-! +# Vector fields and covariant derivatives along smooth paths + +Two facts make the chart-free geodesic condition (`def:geodesic`) well defined and +non-vacuous: + +* `SmoothPath.covDeriv_eq_of_eventuallyEq`: `(∇_{μ'(s)} Y)(μ s)` depends only on the values of + `Y` along `μ` near `s`; +* `SmoothPath.exists_vectorField_eq_tangent`: near an interior parameter, the velocity of a + smooth path extends to a smooth vector field on the spacetime. + +Blueprint reference: `lmm:derivative-vanishes-along-path`, +`lmm:covariant-derivative-along-curve-local`, `lmm:local-vector-field-globalises`, +`lmm:path-local-left-inverse`, `lmm:velocity-extends`. +-/ + +open Bundle Filter +open scoped Manifold ContDiff Topology + +namespace Physicslib4 + +namespace Spacetime + +attribute [local instance] Spacetime.topology Spacetime.hausdorff Spacetime.chartedSpace + Spacetime.isManifold Spacetime.tangent_findim Spacetime.boundaryless + +variable {M : Spacetime} + +/-- **A function vanishing along a path has zero derivative along it.** If `f` is +differentiable at `μ s` and `f ∘ μ` vanishes on the parameter space near `s`, then +`df(μ'(s)) = 0`. + +Blueprint reference: `lmm:derivative-vanishes-along-path`. -/ +theorem SmoothPath.mfderiv_apply_tangent_eq_zero (μ : M.SmoothPath) {s : ℝ} + (hs : s ∈ μ.parameterSpace) {f : M.Carrier → ℝ} + (hf : MDifferentiableAt M.model 𝓘(ℝ, ℝ) f (μ.toFun s)) + (h0 : ∀ᶠ t in 𝓝[μ.parameterSpace] s, f (μ.toFun t) = 0) : + (show ℝ from mfderiv M.model 𝓘(ℝ, ℝ) f (μ.toFun s) (μ.tangent s)) = 0 := by + have hμ : MDifferentiableWithinAt 𝓘(ℝ, ℝ) M.model μ.toFun μ.parameterSpace s := + (μ.smoothOn s hs).mdifferentiableWithinAt (by simp) + have hu := (Path.uniqueDiffOn_parameterSpace M μ.toPath s hs).uniqueMDiffWithinAt + have h1 := hf.hasMFDerivAt.comp_hasMFDerivWithinAt s hμ.hasMFDerivWithinAt + have h2 : HasMFDerivWithinAt 𝓘(ℝ, ℝ) 𝓘(ℝ, ℝ) (f ∘ μ.toFun) μ.parameterSpace s 0 := + (hasMFDerivWithinAt_const (I := 𝓘(ℝ, ℝ)) (I' := 𝓘(ℝ, ℝ)) (0 : ℝ) _ s).congr_of_eventuallyEq + h0 (h0.self_of_nhdsWithin hs) + exact congrArg (fun L => L (1 : ℝ)) (hu.eq h1 h2) + +/-- A covariant derivative on the tangent bundle commutes with finite sums of sections that are +differentiable at the base point. -/ +private theorem covDeriv_finsetSum + (cov : _root_.CovariantDerivative M.model SpacetimeModel + (TangentSpace M.model : M.Carrier → Type _)) + {ι : Type*} (S : Finset ι) (σ : ι → Π x : M.Carrier, TangentSpace M.model x) {p : M.Carrier} + (hσ : ∀ i ∈ S, + MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% (σ i)) p) : + cov (fun x ↦ ∑ i ∈ S, σ i x) p = ∑ i ∈ S, cov (σ i) p := by + classical + induction S using Finset.induction_on with + | empty => exact cov.isCovariantDerivativeOnUniv.zero (x := p) + | insert a S ha ih => + simp only [Finset.mem_insert, forall_eq_or_imp] at hσ + simp only [Finset.sum_insert ha, ← ih hσ.2] + exact cov.isCovariantDerivativeOnUniv.add hσ.1 (.sum_section hσ.2) + +/-- A section vanishing along a path near `s` has vanishing covariant derivative in the direction +of the path's velocity at `s`. -/ +private theorem covDeriv_apply_eq_zero_of_eventually_eq_zero + (cov : _root_.CovariantDerivative M.model SpacetimeModel + (TangentSpace M.model : M.Carrier → Type _)) + (μ : M.SmoothPath) {s : ℝ} (hs : s ∈ μ.parameterSpace) + {W : Π x : M.Carrier, TangentSpace M.model x} + (hW : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% W) (μ.toFun s)) + (h0 : ∀ᶠ t in 𝓝[μ.parameterSpace] s, W (μ.toFun t) = 0) : + cov W (μ.toFun s) (μ.tangent s) = 0 := by + set p := μ.toFun s + let t := trivializationAt SpacetimeModel (TangentSpace M.model : M.Carrier → Type _) p + have hp : p ∈ t.baseSet := FiberBundle.mem_baseSet_trivializationAt' p + let b := Module.Basis.ofVectorSpace ℝ SpacetimeModel + let e := t.localFrame b + let c := t.localFrameCoeff M.model b + have he (i) : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% (e i)) p := + (contMDiffAt_localFrame_of_mem 1 _ b i hp).mdifferentiableAt (by simp) + have hc (i) : MDifferentiableAt M.model 𝓘(ℝ, ℝ) (LinearMap.piApply (c i) W) p := + mdifferentiableAt_localFrameCoeff b hp hW i + have hW0 : W p = 0 := h0.self_of_nhdsWithin hs + have hterm (i) : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% (LinearMap.piApply (c i) W • e i)) p := (hc i).smul_section (he i) + have hsum : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% (fun x ↦ ∑ i, (LinearMap.piApply (c i) W • e i) x)) p := + .sum_section fun i _ ↦ hterm i + rw [cov.isCovariantDerivativeOn.congr_of_eventuallyEq hW hsum Filter.univ_mem + (t.eventually_eq_localFrame_sum_coeff_smul b hp), + covDeriv_finsetSum cov _ _ fun i _ ↦ hterm i, sum_apply] + refine Finset.sum_eq_zero fun i _ ↦ ?_ + rw [cov.isCovariantDerivativeOnUniv.leibniz (he i) (hc i)] + have hd : mfderiv M.model 𝓘(ℝ, ℝ) (LinearMap.piApply (c i) W) p (μ.tangent s) = 0 := + μ.mfderiv_apply_tangent_eq_zero hs (hc i) + (h0.mono fun t ht ↦ by simp [ht]) + simp only [mvfderiv] + rw [add_apply, smul_apply, ContinuousLinearMap.smulRight_apply, + ContinuousLinearMap.comp_apply, hd, map_zero, zero_smul, add_zero] + simp [hW0] + +/-- **The covariant derivative along a path is local.** For a covariant derivative `∇` on the +tangent bundle, `(∇_{μ'(s)} Y)(μ s)` depends only on the values of `Y` along `μ` near `s`. + +Blueprint reference: `lmm:covariant-derivative-along-curve-local`. -/ +theorem SmoothPath.covDeriv_eq_of_eventuallyEq + (cov : _root_.CovariantDerivative M.model SpacetimeModel + (TangentSpace M.model : M.Carrier → Type _)) + (μ : M.SmoothPath) {s : ℝ} (hs : s ∈ μ.parameterSpace) + {Y Y' : Π x : M.Carrier, TangentSpace M.model x} + (hY : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% Y) (μ.toFun s)) + (hY' : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% Y') (μ.toFun s)) + (h : ∀ᶠ t in 𝓝[μ.parameterSpace] s, Y (μ.toFun t) = Y' (μ.toFun t)) : + cov Y (μ.toFun s) (μ.tangent s) = cov Y' (μ.toFun s) (μ.tangent s) := by + set W : Π x : M.Carrier, TangentSpace M.model x := Y + (-1 : ℝ) • Y' + have hW : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% W) (μ.toFun s) := + mdifferentiableAt_add_section hY hY'.smul_const_section + have hYW : Y = Y' + W := by + funext x; simp [W] + have h0 : ∀ᶠ t in 𝓝[μ.parameterSpace] s, W (μ.toFun t) = 0 := + h.mono fun t ht ↦ by simp [W, ht] + rw [hYW, cov.isCovariantDerivativeOn.add hY' hW, add_apply, + covDeriv_apply_eq_zero_of_eventually_eq_zero cov μ hs hW h0, add_zero] + +/-- **Local vector fields globalise.** A vector field smooth on an open neighbourhood of `p` +agrees near `p` with a smooth vector field on the whole spacetime. + +Blueprint reference: `lmm:local-vector-field-globalises`. -/ +theorem exists_contMDiff_vectorField_eventuallyEq {p : M.Carrier} {U : Set M.Carrier} + (hU : IsOpen U) (hp : p ∈ U) {X₀ : Π x : M.Carrier, TangentSpace M.model x} + (hX₀ : ContMDiffOn M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X₀) U) : + ∃ X : Π x : M.Carrier, TangentSpace M.model x, + ContMDiff M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X) ∧ X =ᶠ[𝓝 p] X₀ := by + obtain ⟨f, -, hf⟩ := + (SmoothBumpFunction.nhds_basis_tsupport (I := M.model) p).mem_iff.1 (hU.mem_nhds hp) + refine ⟨(f : M.Carrier → ℝ) • X₀, + ContMDiffOn.smul_section_of_tsupport f.contMDiff.contMDiffOn hU hf hX₀, ?_⟩ + filter_upwards [f.eventuallyEq_one] with x hx + rw [Pi.smul_apply', hx, Pi.one_apply, one_smul] + +/-- One-dimensional inverse function theorem with smooth inverse near the image point: a real +function smooth near `s` with non-zero derivative at `s` has a left inverse near `s` that is +smooth near `h s`. -/ +private theorem exists_smooth_localLeftInverse_real {h : ℝ → ℝ} {s : ℝ} + (hh : ∀ᶠ t in 𝓝 s, ContDiffAt ℝ ∞ h t) (hd : deriv h s ≠ 0) : + ∃ σ : ℝ → ℝ, (∀ᶠ a in 𝓝 (h s), ContDiffAt ℝ ∞ σ a) ∧ ∀ᶠ t in 𝓝 s, σ (h t) = t := by + obtain ⟨V, hVh, hVo, hsV⟩ := eventually_nhds_iff.mp hh + have hVd : ContinuousOn (deriv h) V := + ContDiffOn.continuousOn_deriv_of_isOpen (fun t ht ↦ (hVh t ht).contDiffWithinAt) hVo + (by simp) + have hW : ∀ᶠ t in 𝓝 s, t ∈ V ∧ deriv h t ≠ 0 := + Filter.Eventually.and (hVo.mem_nhds hsV) + ((hVd.continuousAt (hVo.mem_nhds hsV)).eventually_ne hd) + have hdiff : ∀ t ∈ V, HasDerivAt h (deriv h t) t := + fun t ht ↦ ((hVh t ht).differentiableAt (by simp)).hasDerivAt + have hs' := (hdiff s hsV).hasFDerivAt_equiv hd + set F := (hVh s hsV).toOpenPartialHomeomorph h hs' (by simp) + have hsF : s ∈ F.source := (hVh s hsV).mem_toOpenPartialHomeomorph_source hs' (by simp) + have hF : ∀ t, F t = h t := fun _ ↦ rfl + have hhs : h s ∈ F.target := (hVh s hsV).image_mem_toOpenPartialHomeomorph_target hs' (by simp) + have hsymm : ∀ᶠ a in 𝓝 (h s), F.symm a ∈ V ∧ deriv h (F.symm a) ≠ 0 := by + have := F.continuousAt_symm hhs + rw [ContinuousAt, ← hF s, F.left_inv hsF] at this + exact this.eventually hW + refine ⟨F.symm, ?_, ?_⟩ + · filter_upwards [hsymm, F.open_target.mem_nhds hhs] with a ha haT + exact F.contDiffAt_symm_deriv ha.2 haT (hdiff _ ha.1) (hVh _ ha.1) + · filter_upwards [F.open_source.mem_nhds hsF] with t ht + exact F.left_inv ht + +/-- In the chart at `μ s`, a smooth path is smooth near an interior parameter `s`. -/ +private theorem SmoothPath.eventually_contDiffAt_chart (μ : M.SmoothPath) {s : ℝ} + (hs : s ∈ interior μ.parameterSpace) : + ∀ᶠ t in 𝓝 s, ContDiffAt ℝ ∞ (extChartAt M.model (μ.toFun s) ∘ μ.toFun) t := by + have hint : ∀ᶠ t in 𝓝 s, t ∈ interior μ.parameterSpace := isOpen_interior.mem_nhds hs + have hcont : ContinuousAt μ.toFun s := + μ.continuousOn.continuousAt (mem_interior_iff_mem_nhds.mp hs) + have hsrc : ∀ᶠ t in 𝓝 s, μ.toFun t ∈ (chartAt SpacetimeModel (μ.toFun s)).source := + hcont.preimage_mem_nhds ((chartAt SpacetimeModel (μ.toFun s)).open_source.mem_nhds + (mem_chart_source _ _)) + filter_upwards [hint, hsrc] with t ht htc + have hμt : ContMDiffAt 𝓘(ℝ, ℝ) M.model ∞ μ.toFun t := + μ.smoothOn.contMDiffAt (mem_interior_iff_mem_nhds.mp ht) + exact contMDiffAt_iff_contDiffAt.mp ((contMDiffAt_extChartAt' htc).comp t hμt) + +/-- In the chart at `μ s`, the velocity of a smooth path at an interior parameter `s` is +non-zero. -/ +private theorem SmoothPath.deriv_chart_ne_zero (μ : M.SmoothPath) {s : ℝ} + (hs : s ∈ interior μ.parameterSpace) : + deriv (extChartAt M.model (μ.toFun s) ∘ μ.toFun) s ≠ 0 := by + have hsn : μ.parameterSpace ∈ 𝓝 s := mem_interior_iff_mem_nhds.mp hs + have hμ : MDifferentiableAt 𝓘(ℝ, ℝ) M.model μ.toFun s := + (μ.smoothOn.contMDiffAt hsn).mdifferentiableAt (by simp) + have h := μ.tangent_ne_zero (interior_subset hs) + rw [SmoothPath.tangent_def, mfderivWithin_of_mem_nhds hsn, hμ.mfderiv] at h + simp only [writtenInExtChartAt, extChartAt_model_space_eq_id, modelWithCornersSelf_coe, + Set.range_id, fderivWithin_univ, PartialEquiv.refl_coe, PartialEquiv.refl_symm, + Function.comp_id, id_eq] at h + exact h + +/-- **Local left inverse of a smooth path.** Near an interior parameter `s`, there is a +function `τ`, smooth near `μ s`, with `τ (μ t) = t` for `t` near `s`. + +Blueprint reference: `lmm:path-local-left-inverse`. -/ +theorem SmoothPath.exists_localLeftInverse (μ : M.SmoothPath) {s : ℝ} + (hs : s ∈ interior μ.parameterSpace) : + ∃ τ : M.Carrier → ℝ, (∀ᶠ y in 𝓝 (μ.toFun s), ContMDiffAt M.model 𝓘(ℝ, ℝ) ∞ τ y) ∧ + ∀ᶠ t in 𝓝 s, τ (μ.toFun t) = t := by + set φ := extChartAt M.model (μ.toFun s) + have hcd := μ.eventually_contDiffAt_chart hs + have hv := μ.deriv_chart_ne_zero hs + obtain ⟨ℓ, hℓ⟩ : ∃ ℓ : SpacetimeModel →L[ℝ] ℝ, ℓ (deriv (φ ∘ μ.toFun) s) = 1 := + ⟨(‖deriv (φ ∘ μ.toFun) s‖ ^ 2)⁻¹ • innerSL ℝ (deriv (φ ∘ μ.toFun) s), by + simp only [smul_apply, innerSL_apply_apply, real_inner_self_eq_norm_sq, + smul_eq_mul] + exact inv_mul_cancel₀ (pow_ne_zero 2 (norm_ne_zero_iff.mpr hv))⟩ + have hcs : DifferentiableAt ℝ (φ ∘ μ.toFun) s := (hcd.self_of_nhds).differentiableAt (by simp) + have hd : deriv (ℓ ∘ φ ∘ μ.toFun) s ≠ 0 := by + rw [(ℓ.hasFDerivAt.comp_hasDerivAt s hcs.hasDerivAt).deriv] + simp [hℓ] + obtain ⟨σ, hσ, hστ⟩ := exists_smooth_localLeftInverse_real + (hcd.mono fun t ht ↦ ℓ.contDiff.contDiffAt.comp t ht) hd + refine ⟨σ ∘ ℓ ∘ φ, ?_, ?_⟩ + · have hℓφ : ContinuousAt (ℓ ∘ φ) (μ.toFun s) := + ℓ.continuous.continuousAt.comp (continuousAt_extChartAt _) + have h1 : ∀ᶠ y in 𝓝 (μ.toFun s), ContDiffAt ℝ ∞ σ (ℓ (φ y)) := hℓφ.eventually hσ + have h2 : ∀ᶠ y in 𝓝 (μ.toFun s), y ∈ (chartAt SpacetimeModel (μ.toFun s)).source := + (chartAt SpacetimeModel (μ.toFun s)).open_source.mem_nhds (mem_chart_source _ _) + filter_upwards [h1, h2] with y hy1 hy2 + exact hy1.contMDiffAt.comp y + (ℓ.contDiff.contMDiff.contMDiffAt.comp y (contMDiffAt_extChartAt' hy2)) + · exact hστ + +/-- The chart expression `φ ∘ μ` of a path in the chart at `p` has derivative the tangent +vector `μ'(t)` written in that chart. -/ +private theorem SmoothPath.hasDerivAt_extChartAt_comp (μ : M.SmoothPath) {t : ℝ} + {p : M.Carrier} (ht : μ.parameterSpace ∈ 𝓝 t) + (hsrc : μ.toFun t ∈ (chartAt SpacetimeModel p).source) : + HasDerivAt (extChartAt M.model p ∘ μ.toFun) + (tangentCoordChange M.model (μ.toFun t) p (μ.toFun t) (μ.tangent t)) t := by + have hd : MDifferentiableAt 𝓘(ℝ, ℝ) M.model μ.toFun t := + (μ.smoothOn.contMDiffAt ht).mdifferentiableAt (by simp) + have htan : μ.tangent t = mfderiv 𝓘(ℝ, ℝ) M.model μ.toFun t (1 : ℝ) := by + rw [SmoothPath.tangent_def, mfderivWithin_of_mem_nhds ht] + have h := hasMFDerivAt_iff_hasFDerivAt.mp (HasMFDerivAt.comp t + (hasMFDerivAt_extChartAt (I := M.model) hsrc) hd.hasMFDerivAt) + refine hasDerivAt_iff_hasFDerivAt.mpr (h.congr_fderiv ?_) + refine ContinuousLinearMap.ext_ring ?_ + exact (DFunLike.congr_fun (mfderiv_chartAt_eq_tangentCoordChange hsrc) _).trans + ((congrArg _ htan.symm).trans (one_smul ℝ _).symm) + +/-- **The velocity of a smooth path extends to a vector field.** Near an interior parameter +`s`, there is a smooth vector field `X` on the spacetime with `X (μ t) = μ'(t)` for `t` near +`s`. + +Blueprint reference: `lmm:velocity-extends`. -/ +theorem SmoothPath.exists_vectorField_eq_tangent (μ : M.SmoothPath) {s : ℝ} + (hs : s ∈ interior μ.parameterSpace) : + ∃ X : Π x : M.Carrier, TangentSpace M.model x, + ContMDiff M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X) ∧ + ∀ᶠ t in 𝓝 s, X (μ.toFun t) = μ.tangent t := by + obtain ⟨τ, hτ, hτμ⟩ := μ.exists_localLeftInverse hs + set p := μ.toFun s + have hPS : μ.parameterSpace ∈ 𝓝 s := mem_interior_iff_mem_nhds.mp hs + have hμc : ContinuousAt μ.toFun s := (μ.smoothOn.contMDiffAt hPS).continuousAt + set c : ℝ → SpacetimeModel := extChartAt M.model p ∘ μ.toFun + set J := interior μ.parameterSpace ∩ μ.toFun ⁻¹' (chartAt SpacetimeModel p).source + have hJ : IsOpen J := (μ.continuousOn.mono interior_subset).isOpen_inter_preimage + isOpen_interior (chartAt SpacetimeModel p).open_source + have hsJ : s ∈ J := ⟨hs, mem_chart_source _ _⟩ + have hc : ContDiffOn ℝ ∞ c J := by + refine contMDiffOn_iff_contDiffOn.mp ?_ + exact (contMDiffOn_extChartAt (I := M.model)).comp (μ.smoothOn.mono + (interior_subset.trans' Set.inter_subset_left)) (fun t ht ↦ ht.2) + have hc' : ContDiffOn ℝ ∞ (deriv c) J := + ContDiffOn.clm_apply (ContDiffOn.fderiv_of_isOpen hc hJ (by simp)) contDiffOn_const + have hderiv : ∀ t ∈ J, deriv c t = + tangentCoordChange M.model (μ.toFun t) p (μ.toFun t) (μ.tangent t) := fun t ht ↦ + (μ.hasDerivAt_extChartAt_comp (interior_mem_nhds.mp (isOpen_interior.mem_nhds ht.1)) + ht.2).deriv + have hτp : τ p = s := hτμ.self_of_nhds + have hU : {y | y ∈ (chartAt SpacetimeModel p).source ∧ + ContMDiffAt M.model 𝓘(ℝ, ℝ) ∞ τ y ∧ τ y ∈ J} ∈ 𝓝 p := by + refine Filter.inter_mem (chart_source_mem_nhds _ _) (Filter.inter_mem hτ ?_) + exact hτ.self_of_nhds.continuousAt.preimage_mem_nhds (hτp ▸ hJ.mem_nhds hsJ) + obtain ⟨U, hUsub, hUo, hpU⟩ := mem_nhds_iff.mp hU + let X₀ : Π x : M.Carrier, TangentSpace M.model x := + fun y ↦ tangentCoordChange M.model p y y (deriv c (τ y)) + have hX₀ : ContMDiffOn M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X₀) U := by + rw [(trivializationAt SpacetimeModel (TangentSpace M.model) p).contMDiffOn_section_iff + hUo (fun y hy ↦ (hUsub hy).1)] + intro y hy + obtain ⟨-, h2, h3⟩ := hUsub hy + have hw : ContMDiffAt M.model 𝓘(ℝ, SpacetimeModel) ∞ (fun y ↦ deriv c (τ y)) y := + ((hc'.contDiffAt (hJ.mem_nhds h3)).contMDiffAt).comp y h2 + have key : ∀ z ∈ U, + (trivializationAt SpacetimeModel (TangentSpace M.model) p ⟨z, X₀ z⟩).2 = + deriv c (τ z) := fun z hz ↦ by + have hzp : z ∈ (extChartAt M.model p).source := by + rw [extChartAt_source]; exact (hUsub hz).1 + change tangentCoordChange M.model z p z (tangentCoordChange M.model p z z _) = _ + exact (tangentCoordChange_comp ⟨⟨hzp, mem_extChartAt_source _⟩, hzp⟩).trans + (tangentCoordChange_self hzp) + exact hw.contMDiffWithinAt.congr key (key y hy) + obtain ⟨X, hX, hXeq⟩ := exists_contMDiff_vectorField_eventuallyEq hUo hpU hX₀ + refine ⟨X, hX, ?_⟩ + filter_upwards [hμc.eventually hXeq, hJ.mem_nhds hsJ, hτμ] with t h1 h2 h3 + rw [h1] + change tangentCoordChange M.model p (μ.toFun t) (μ.toFun t) (deriv c (τ (μ.toFun t))) = _ + rw [h3, hderiv t h2] + have hq : μ.toFun t ∈ (extChartAt M.model p).source := by + rw [extChartAt_source]; exact h2.2 + have hqq := mem_extChartAt_source (I := M.model) (μ.toFun t) + exact (tangentCoordChange_comp ⟨⟨hqq, hq⟩, hqq⟩).trans (tangentCoordChange_self hqq) + +end Spacetime + +end Physicslib4 diff --git a/Physicslib4/Spacetime/Basic.lean b/Physicslib4/Spacetime/Basic.lean index c492b64..7989ddc 100644 --- a/Physicslib4/Spacetime/Basic.lean +++ b/Physicslib4/Spacetime/Basic.lean @@ -134,6 +134,10 @@ structure Spacetime where field: the bundle-section statement there needs the tangent bundle's `FiberBundle` / `VectorBundle` instances, which are gated on `IsManifold`. -/ [isManifold : IsManifold model ∞ Carrier] + /-- The model has no boundary: chart targets are open in `SpacetimeModel`. The + pseudo-Riemannian layer (Levi-Civita connection, geodesics) uses open chart targets, + and a spacetime is a manifold without boundary. -/ + [boundaryless : model.Boundaryless] /-- Each tangent space is finite-dimensional. -/ tangent_findim : ∀ x : Carrier, FiniteDimensional ℝ (TangentSpace model x) /-- The metric tensor `g`, presented as a family of continuous bilinear forms diff --git a/Physicslib4/Spacetime/Causality.lean b/Physicslib4/Spacetime/Causality.lean index 6169660..5d016bd 100644 --- a/Physicslib4/Spacetime/Causality.lean +++ b/Physicslib4/Spacetime/Causality.lean @@ -6,6 +6,7 @@ Authors: Lean Community import Physicslib4.Spacetime.Basic import Physicslib4.Spacetime.CausalStructure import Physicslib4.Spacetime.Curves +import Physicslib4.Geometry.PseudoRiemannian.LeviCivita import Mathlib.Order.Defs.Unbundled /-! @@ -18,11 +19,9 @@ chronological/causal future/past sets. ## Main definitions -* `Physicslib4.Spacetime.IsGeodesic` (placeholder): a `Prop` placeholder for - "being a geodesic". Mathlib v4.31.0-rc1 does not provide a packaged - notion of geodesic in a Lorentzian / pseudo-Riemannian manifold; we - encode the predicate as an opaque `Prop`-valued definition (defined to - `True` as a placeholder, see modelling notes). +* `Physicslib4.Spacetime.IsGeodesic`: a smooth path is an (affinely parametrised) geodesic + of the Levi-Civita connection of the spacetime metric + (`Physicslib4/Geometry/PseudoRiemannian/LeviCivita.lean`), stated without charts. * `Physicslib4.Spacetime.IsTrip` / `IsCausalTrip`: a trip / causal trip is a smooth curve which is piecewise a future-oriented timelike / causal @@ -40,11 +39,10 @@ chronological/causal future/past sets. ## Modelling notes -* Geodesics in Lorentzian manifolds are not packaged in Mathlib. We use a - placeholder predicate `IsGeodesic` set to `True`; downstream agents - should refine this to the genuine geodesic condition once Mathlib (or - a sibling project) provides one. This is the *only* mathematical - compromise in this file. +* Mathlib has no geodesics and only a Riemannian Levi-Civita connection. `IsGeodesic` uses + the pseudo-Riemannian Levi-Civita connection of `Physicslib4.Geometry` and imposes the + geodesic condition at interior parameters of the path through vector fields extending its + velocity; `Physicslib4/Spacetime/AlongPath.lean` shows this is well defined and non-vacuous. * The "piecewise" condition on trips is encoded by partitioning the parameter space into finitely many sub-intervals on each of which the @@ -61,25 +59,29 @@ variable (M : Spacetime) attribute [instance] Spacetime.topology Spacetime.hausdorff Spacetime.connected Spacetime.chartedSpace Spacetime.isManifold Spacetime.tangent_findim -/-! ### Geodesics (placeholder) -/ +/-! ### Geodesics -/ +open Bundle in +open scoped Manifold ContDiff Topology in /-- -A *geodesic* of a spacetime, as needed by section 10.4 of the blueprint. - -Mathlib v4.31.0-rc1 does not provide a Lorentzian / pseudo-Riemannian -geodesic. We provide an opaque placeholder predicate. Downstream work -should replace this by the genuine geodesic condition (typically: -auto-parallelism of the tangent vector field along the curve with -respect to the Levi-Civita connection of `g`). - -**Restriction:** `IsGeodesic` is `True`, so (causal) trips, and hence `≪` and `≺`, are -chains of arbitrary future-oriented timelike (causal) smooth curves rather than of geodesics. -The intended form is auto-parallelism of the tangent field along the curve for the -Levi-Civita connection of `g`; it is waiting on Mathlib defining affine connections (and the -Levi-Civita connection of a pseudo-Riemannian metric), which geodesics require. +A smooth path `μ` is a **geodesic** (affinely parametrised) if its velocity is parallel for the +Levi-Civita connection `∇` of the spacetime metric: for every interior parameter `s` and every +smooth vector field `X` that agrees with the velocity `μ'` along `μ` near `s`, +`(∇_X X)(μ s) = 0`. + +No chart enters the definition. It is well defined because `(∇_X X)(μ s)` depends only on `X` +along `μ` (`SmoothPath.covDeriv_eq_of_eventuallyEq`), and it is not vacuous because such an `X` +exists near every interior parameter (`SmoothPath.exists_vectorField_eq_tangent`); the interior +of the parameter space is non-empty. The condition is imposed only at interior parameters, which +avoids extending the path past the endpoints of its parameter space. + +Blueprint reference: `def:geodesic`. -/ -@[nolint unusedArguments] -def IsGeodesic (_μ : M.SmoothPath) : Prop := True +def IsGeodesic (μ : M.SmoothPath) : Prop := + ∀ s ∈ interior μ.parameterSpace, ∀ X : Π x : M.Carrier, TangentSpace M.model x, + ContMDiff M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X) → + (∀ᶠ t in 𝓝 s, X (μ.toFun t) = μ.tangent t) → + M.toPseudoRiemannianMetric.leviCivita X (μ.toFun s) (X (μ.toFun s)) = 0 /-! ### Trips and chronological precedence -/ @@ -88,8 +90,7 @@ A *trip segment* from `p` to `q` in a spacetime `M` is a smooth curve `c` together with a representative smooth path `μ` that * is future-oriented and timelike; -* is a geodesic (currently the placeholder `IsGeodesic`, which is `True`; - see its **Restriction:** note); +* is a geodesic (`IsGeodesic`); * has past endpoint `p` and future endpoint `q`. This is a single geodesic piece; a full (piecewise) trip is a finite chain @@ -140,8 +141,7 @@ A *causal trip segment* from `p` to `q` in a spacetime `M` is a smooth curve `c` together with a representative smooth path `μ` that * is future-oriented and causal; -* is a (possibly degenerate) geodesic (currently the placeholder - `IsGeodesic`, which is `True`; see its **Restriction:** note); +* is a geodesic (`IsGeodesic`); * has past endpoint `p` and future endpoint `q`. -/ def IsCausalTripSegment (t : M.TimeOrientation) (p q : M.Carrier) diff --git a/Physicslib4/Spacetime/CrossMetricIsometry.lean b/Physicslib4/Spacetime/CrossMetricIsometry.lean index b53c91b..599989c 100644 --- a/Physicslib4/Spacetime/CrossMetricIsometry.lean +++ b/Physicslib4/Spacetime/CrossMetricIsometry.lean @@ -313,6 +313,135 @@ theorem pushforwardPath_isFutureOriented (ψ : Diffeo M N) (μ : M.SmoothPath) /-! ### Transport of chronology -/ +section Geodesic + +open Bundle VectorField Filter +open scoped Topology ContDiff + +/-- The differential of a cross-metric isometry `Ψ` undoes the pullback of a vector field +along `Ψ`. -/ +theorem CrossIsometry.mfderiv_mpullback (Ψ : CrossIsometry M N) + (V : Π y : N.Carrier, TangentSpace N.model y) (x : M.Carrier) : + mfderiv M.model N.model Ψ.toDiffeo x (mpullback M.model N.model Ψ.toDiffeo V x) + = V (Ψ.toDiffeo x) := by + rw [mpullback_apply, + (Ψ.toDiffeo.isInvertible_mfderiv (x := x) (by simp)).self_apply_inverse] + +/-- The `g₁`-pairing of pullbacks along a cross-metric isometry is the pullback of the +`g₂`-pairing. -/ +theorem CrossIsometry.val_mpullback (Ψ : CrossIsometry M N) + (V W : Π y : N.Carrier, TangentSpace N.model y) (x : M.Carrier) : + M.toPseudoRiemannianMetric.val x (mpullback M.model N.model Ψ.toDiffeo V x) + (mpullback M.model N.model Ψ.toDiffeo W x) + = N.toPseudoRiemannianMetric.val (Ψ.toDiffeo x) (V (Ψ.toDiffeo x)) + (W (Ψ.toDiffeo x)) := by + rw [← Ψ.mfderiv_mpullback V x, ← Ψ.mfderiv_mpullback W x] + exact (Ψ.preserves x _ _).symm + +/-- Chain rule for the metric pairing of vector fields pulled back along a cross-metric +isometry. -/ +theorem CrossIsometry.mfderiv_val_mpullback (Ψ : CrossIsometry M N) + {A B C : Π y : N.Carrier, TangentSpace N.model y} {x : M.Carrier} + (hB : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% B) (Ψ.toDiffeo x)) + (hC : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% C) (Ψ.toDiffeo x)) : + (show ℝ from mfderiv M.model 𝓘(ℝ, ℝ) (fun y ↦ M.toPseudoRiemannianMetric.val y + (mpullback M.model N.model Ψ.toDiffeo B y) (mpullback M.model N.model Ψ.toDiffeo C y)) x + (mpullback M.model N.model Ψ.toDiffeo A x)) + = (show ℝ from mfderiv N.model 𝓘(ℝ, ℝ) + (fun z ↦ N.toPseudoRiemannianMetric.val z (B z) (C z)) (Ψ.toDiffeo x) + (A (Ψ.toDiffeo x))) := by + have hfun : (fun y ↦ M.toPseudoRiemannianMetric.val y + (mpullback M.model N.model Ψ.toDiffeo B y) (mpullback M.model N.model Ψ.toDiffeo C y)) + = (fun z ↦ N.toPseudoRiemannianMetric.val z (B z) (C z)) ∘ Ψ.toDiffeo := + funext fun y ↦ Ψ.val_mpullback B C y + rw [hfun] + exact (congrArg (fun L ↦ L (mpullback M.model N.model Ψ.toDiffeo A x)) + (mfderiv_comp x (N.toPseudoRiemannianMetric.mdifferentiableAt_val_apply hB hC) + (Ψ.toDiffeo.mdifferentiable (by simp) x))).trans + (by rw [ContinuousLinearMap.comp_apply, Ψ.mfderiv_mpullback]) + +/-- Naturality of the Lie bracket under a cross-metric isometry, paired with the metric. -/ +theorem CrossIsometry.val_mlieBracket_mpullback (Ψ : CrossIsometry M N) + {A B C : Π y : N.Carrier, TangentSpace N.model y} {x : M.Carrier} + (hA : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% A) (Ψ.toDiffeo x)) + (hC : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% C) (Ψ.toDiffeo x)) : + M.toPseudoRiemannianMetric.val x (mpullback M.model N.model Ψ.toDiffeo B x) + (mlieBracket M.model (mpullback M.model N.model Ψ.toDiffeo A) + (mpullback M.model N.model Ψ.toDiffeo C) x) + = N.toPseudoRiemannianMetric.val (Ψ.toDiffeo x) (B (Ψ.toDiffeo x)) + (mlieBracket N.model A C (Ψ.toDiffeo x)) := by + have : IsManifold M.model (minSmoothness ℝ 2) M.Carrier := IsManifold.of_le (n := ∞) (by simp) + have : IsManifold N.model (minSmoothness ℝ 2) N.Carrier := IsManifold.of_le (n := ∞) (by simp) + rw [← mpullback_mlieBracket hA hC (Ψ.toDiffeo.contMDiff x) (by simp)] + exact Ψ.val_mpullback B (mlieBracket N.model A C) x + +/-- **A cross-metric isometry intertwines the Levi-Civita connections**: +`dΨ(∇¹_{Ψ^*A} Ψ^*B) = ∇²_A B ∘ Ψ`. + +Blueprint reference: `lmm:isometry-preserves-levi-civita` (cross-metric case). -/ +theorem CrossIsometry.mfderiv_leviCivita_mpullback (Ψ : CrossIsometry M N) + {A B : Π y : N.Carrier, TangentSpace N.model y} {x : M.Carrier} + (hA : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% A) (Ψ.toDiffeo x)) + (hB : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% B) (Ψ.toDiffeo x)) : + mfderiv M.model N.model Ψ.toDiffeo x + (M.toPseudoRiemannianMetric.leviCivita (mpullback M.model N.model Ψ.toDiffeo B) x + (mpullback M.model N.model Ψ.toDiffeo A x)) + = N.toPseudoRiemannianMetric.leviCivita B (Ψ.toDiffeo x) (A (Ψ.toDiffeo x)) := by + set L := M.toPseudoRiemannianMetric + set L' := N.toPseudoRiemannianMetric + have hpb : ∀ {V : Π y : N.Carrier, TangentSpace N.model y}, + MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) (T% V) (Ψ.toDiffeo x) → + MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% (mpullback M.model N.model Ψ.toDiffeo V)) x := fun hV ↦ + hV.mpullback_vectorField (Ψ.toDiffeo.contMDiff x) + (Ψ.toDiffeo.isInvertible_mfderiv (by simp)) (by simp) + apply L'.eq_of_forall_val_apply_eq + intro C hC + have h1 := L.isLeviCivitaFor_leviCivita.koszul (hpb hA) (hpb hB) (hpb hC) + have h2 := L'.isLeviCivitaFor_leviCivita.koszul hA hB hC + rw [Ψ.mfderiv_val_mpullback hB hC, Ψ.mfderiv_val_mpullback hC hA, + Ψ.mfderiv_val_mpullback hA hB, Ψ.val_mlieBracket_mpullback hA hC, + Ψ.val_mlieBracket_mpullback hB hA, Ψ.val_mlieBracket_mpullback hC hB] at h1 + have e : L'.val (Ψ.toDiffeo x) (mfderiv M.model N.model Ψ.toDiffeo x + (L.leviCivita (mpullback M.model N.model Ψ.toDiffeo B) x + (mpullback M.model N.model Ψ.toDiffeo A x))) (C (Ψ.toDiffeo x)) + = L.val x (L.leviCivita (mpullback M.model N.model Ψ.toDiffeo B) x + (mpullback M.model N.model Ψ.toDiffeo A x)) + (mpullback M.model N.model Ψ.toDiffeo C x) := by + rw [← Ψ.mfderiv_mpullback C x] + exact Ψ.preserves x _ _ + rw [e] + linarith + +/-- **Cross-metric isometries map geodesics to geodesics.** A cross-metric isometry +`Ψ : (M, g₁) → (N, g₂)` carries the Levi-Civita connection of `g₁` to that of `g₂`, so the +pushforward of a geodesic of `M` is a geodesic of `N`. This is the cross-metric version of +`Isometry.pushforwardPath_isGeodesic`. + +Blueprint reference: `lmm:isometry-preserves-geodesics` (cross-metric case). -/ +theorem CrossIsometry.pushforwardPath_isGeodesic (Ψ : CrossIsometry M N) (μ : M.SmoothPath) + (h : IsGeodesic M μ) : IsGeodesic N (pushforwardPath Ψ.toDiffeo μ) := by + intro s hs X hX hXt + have hinv (y : M.Carrier) : (mfderiv M.model N.model Ψ.toDiffeo y).IsInvertible := + Ψ.toDiffeo.isInvertible_mfderiv (by simp) + have hY : ContMDiff M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ + (T% (mpullback M.model N.model Ψ.toDiffeo X)) := + hX.mpullback_vectorField Ψ.toDiffeo.contMDiff hinv (by simp) + have hYt : ∀ᶠ t in 𝓝 s, + mpullback M.model N.model Ψ.toDiffeo X (μ.toFun t) = μ.tangent t := by + filter_upwards [hXt, mem_interior_iff_mem_nhds.mp hs] with t ht htP + rw [mpullback_apply] + change X (Ψ.toDiffeo (μ.toFun t)) = _ at ht + rw [ht, pushforwardPath_tangent Ψ.toDiffeo μ htP, (hinv _).inverse_apply_self] + have hXd : MDifferentiableAt N.model (N.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% X) (Ψ.toDiffeo (μ.toFun s)) := + (hX _).mdifferentiableAt (by simp) + change N.toPseudoRiemannianMetric.leviCivita X (Ψ.toDiffeo (μ.toFun s)) + (X (Ψ.toDiffeo (μ.toFun s))) = 0 + rw [← Ψ.mfderiv_leviCivita_mpullback hXd hXd, h s hs _ hY hYt, map_zero] + +end Geodesic + /-- A cross-metric isometry preserving the future orientation carries a single trip segment forward. -/ theorem CrossIsometry.segmentPrecedes (Ψ : CrossIsometry M N) @@ -324,7 +453,7 @@ theorem CrossIsometry.segmentPrecedes (Ψ : CrossIsometry M N) exact ⟨SmoothCurve.ofPath N (pushforwardPath Ψ.toDiffeo rep), pushforwardPath Ψ.toDiffeo rep, rfl, Ψ.pushforwardPath_isTimelike rep htl, pushforwardPath_isFutureOriented Ψ.toDiffeo rep t₁ t₂ hΨ hfo, - trivial, + Ψ.pushforwardPath_isGeodesic rep hgeo, pushforwardPath_isPastEndpoint Ψ.toDiffeo rep hpe, pushforwardPath_isFutureEndpoint Ψ.toDiffeo rep hfe⟩ diff --git a/Physicslib4/Spacetime/IsometryCausality.lean b/Physicslib4/Spacetime/IsometryCausality.lean index 8c440d3..8198c89 100644 --- a/Physicslib4/Spacetime/IsometryCausality.lean +++ b/Physicslib4/Spacetime/IsometryCausality.lean @@ -5,6 +5,7 @@ Authors: Lean Community -/ import Physicslib4.Spacetime.Curves import Physicslib4.Spacetime.Causality +import Physicslib4.Spacetime.AlongPath import Physicslib4.Spacetime.DiffeoPath import Physicslib4.Spacetime.Isometry import Physicslib4.Spacetime.IsometryTopology @@ -217,6 +218,125 @@ theorem pushforwardPath_isFutureOriented (g : Isometry M) (μ : M.SmoothPath) simp only [pushforwardPath_tangent g μ hs] exact hg (μ.toFun s) _ (h s hs) +section Geodesic + +open Bundle VectorField Filter +open scoped Manifold Topology + +/-- The differential of an isometry `g` undoes the pullback of a vector field along `g`. -/ +theorem mfderiv_mpullback (g : Isometry M) (V : Π x : M.Carrier, TangentSpace M.model x) + (x : M.Carrier) : + mfderiv M.model M.model g.toDiffeo x (mpullback M.model M.model g.toDiffeo V x) + = V (g.toDiffeo x) := by + rw [mpullback_apply, (g.toDiffeo.isInvertible_mfderiv (x := x) (by simp)).self_apply_inverse] + +/-- The metric pairing of pullbacks along an isometry is the pullback of the pairing. -/ +theorem val_mpullback (g : Isometry M) (V W : Π x : M.Carrier, TangentSpace M.model x) + (x : M.Carrier) : + M.toPseudoRiemannianMetric.val x (mpullback M.model M.model g.toDiffeo V x) + (mpullback M.model M.model g.toDiffeo W x) + = M.toPseudoRiemannianMetric.val (g.toDiffeo x) (V (g.toDiffeo x)) (W (g.toDiffeo x)) := by + rw [← mfderiv_mpullback g V x, ← mfderiv_mpullback g W x] + exact (g.preserves x _ _).symm + +/-- Chain rule for the metric pairing of pulled-back vector fields along an isometry. -/ +theorem mfderiv_val_mpullback (g : Isometry M) {A B C : Π x : M.Carrier, TangentSpace M.model x} + {x : M.Carrier} + (hB : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% B) (g.toDiffeo x)) + (hC : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% C) (g.toDiffeo x)) : + (show ℝ from mfderiv M.model 𝓘(ℝ, ℝ) (fun y ↦ M.toPseudoRiemannianMetric.val y + (mpullback M.model M.model g.toDiffeo B y) (mpullback M.model M.model g.toDiffeo C y)) x + (mpullback M.model M.model g.toDiffeo A x)) + = (show ℝ from mfderiv M.model 𝓘(ℝ, ℝ) + (fun z ↦ M.toPseudoRiemannianMetric.val z (B z) (C z)) (g.toDiffeo x) + (A (g.toDiffeo x))) := by + have hfun : (fun y ↦ M.toPseudoRiemannianMetric.val y + (mpullback M.model M.model g.toDiffeo B y) (mpullback M.model M.model g.toDiffeo C y)) + = (fun z ↦ M.toPseudoRiemannianMetric.val z (B z) (C z)) ∘ g.toDiffeo := + funext fun y ↦ val_mpullback g B C y + rw [hfun] + exact (congrArg (fun L ↦ L (mpullback M.model M.model g.toDiffeo A x)) + (mfderiv_comp x (M.toPseudoRiemannianMetric.mdifferentiableAt_val_apply hB hC) + (g.toDiffeo.mdifferentiable (by simp) x))).trans + (by rw [ContinuousLinearMap.comp_apply, mfderiv_mpullback]) + +/-- Naturality of the Lie bracket under an isometry, paired with the metric. -/ +theorem val_mlieBracket_mpullback (g : Isometry M) + {A B C : Π x : M.Carrier, TangentSpace M.model x} {x : M.Carrier} + (hA : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% A) (g.toDiffeo x)) + (hC : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% C) (g.toDiffeo x)) : + M.toPseudoRiemannianMetric.val x (mpullback M.model M.model g.toDiffeo B x) + (mlieBracket M.model (mpullback M.model M.model g.toDiffeo A) + (mpullback M.model M.model g.toDiffeo C) x) + = M.toPseudoRiemannianMetric.val (g.toDiffeo x) (B (g.toDiffeo x)) + (mlieBracket M.model A C (g.toDiffeo x)) := by + have : IsManifold M.model (minSmoothness ℝ 2) M.Carrier := IsManifold.of_le (n := ∞) (by simp) + rw [← mpullback_mlieBracket hA hC (g.toDiffeo.contMDiff x) (by simp)] + exact val_mpullback g B (mlieBracket M.model A C) x + +/-- **An isometry preserves the Levi-Civita connection**: `dg(∇_{g^*A} g^*B) = ∇_A B ∘ g`. + +Blueprint reference: `lmm:isometry-preserves-levi-civita`. -/ +theorem mfderiv_leviCivita_mpullback (g : Isometry M) + {A B : Π x : M.Carrier, TangentSpace M.model x} {x : M.Carrier} + (hA : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% A) (g.toDiffeo x)) + (hB : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% B) (g.toDiffeo x)) : + mfderiv M.model M.model g.toDiffeo x + (M.toPseudoRiemannianMetric.leviCivita (mpullback M.model M.model g.toDiffeo B) x + (mpullback M.model M.model g.toDiffeo A x)) + = M.toPseudoRiemannianMetric.leviCivita B (g.toDiffeo x) (A (g.toDiffeo x)) := by + set L := M.toPseudoRiemannianMetric + have hpb : ∀ {V : Π x : M.Carrier, TangentSpace M.model x}, + MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) (T% V) (g.toDiffeo x) → + MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% (mpullback M.model M.model g.toDiffeo V)) x := fun hV ↦ + hV.mpullback_vectorField (g.toDiffeo.contMDiff x) + (g.toDiffeo.isInvertible_mfderiv (by simp)) (by simp) + apply L.eq_of_forall_val_apply_eq + intro C hC + have hL := L.isLeviCivitaFor_leviCivita + have h1 := hL.koszul (hpb hA) (hpb hB) (hpb hC) + have h2 := hL.koszul hA hB hC + rw [mfderiv_val_mpullback g hB hC, mfderiv_val_mpullback g hC hA, + mfderiv_val_mpullback g hA hB, val_mlieBracket_mpullback g hA hC, + val_mlieBracket_mpullback g hB hA, val_mlieBracket_mpullback g hC hB] at h1 + have e : L.val (g.toDiffeo x) (mfderiv M.model M.model g.toDiffeo x + (L.leviCivita (mpullback M.model M.model g.toDiffeo B) x + (mpullback M.model M.model g.toDiffeo A x))) (C (g.toDiffeo x)) + = L.val x (L.leviCivita (mpullback M.model M.model g.toDiffeo B) x + (mpullback M.model M.model g.toDiffeo A x)) (mpullback M.model M.model g.toDiffeo C x) := by + rw [← mfderiv_mpullback g C x] + exact g.preserves x _ _ + rw [e] + linarith + +/-- **Isometries map geodesics to geodesics.** An isometry `φ` preserves the Levi-Civita +connection (`lmm:isometry-preserves-levi-civita`), so it carries a vector field extending the +velocity of `μ` to one extending the velocity of `φ ∘ μ`, and the geodesic condition transfers. + +Blueprint reference: `lmm:isometry-preserves-geodesics`. -/ +theorem pushforwardPath_isGeodesic (g : Isometry M) (μ : M.SmoothPath) + (h : IsGeodesic M μ) : IsGeodesic M (g.pushforwardPath μ) := by + intro s hs X hX hXt + have hinv (y : M.Carrier) : (mfderiv M.model M.model g.toDiffeo y).IsInvertible := + g.toDiffeo.isInvertible_mfderiv (by simp) + have hY : ContMDiff M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ + (T% (mpullback M.model M.model g.toDiffeo X)) := + hX.mpullback_vectorField g.toDiffeo.contMDiff hinv (by simp) + have hYt : ∀ᶠ t in 𝓝 s, mpullback M.model M.model g.toDiffeo X (μ.toFun t) = μ.tangent t := by + filter_upwards [hXt, mem_interior_iff_mem_nhds.mp hs] with t ht htP + rw [mpullback_apply] + change X (g.toDiffeo (μ.toFun t)) = _ at ht + rw [ht, pushforwardPath_tangent g μ htP, (hinv _).inverse_apply_self] + have hXd : MDifferentiableAt M.model (M.model.prod 𝓘(ℝ, SpacetimeModel)) + (T% X) (g.toDiffeo (μ.toFun s)) := + (hX _).mdifferentiableAt (by simp) + change M.toPseudoRiemannianMetric.leviCivita X (g.toDiffeo (μ.toFun s)) + (X (g.toDiffeo (μ.toFun s))) = 0 + rw [← mfderiv_leviCivita_mpullback g hXd hXd, h s hs _ hY hYt, map_zero] + +end Geodesic + /-- Under future-orientation preservation, an isometry carries a single trip segment forward. -/ theorem segmentPrecedes_pushforward (g : Isometry M) (t : M.TimeOrientation) @@ -227,7 +347,7 @@ theorem segmentPrecedes_pushforward (g : Isometry M) (t : M.TimeOrientation) exact ⟨SmoothCurve.ofPath M (g.pushforwardPath rep), g.pushforwardPath rep, rfl, g.pushforwardPath_isTimelike rep htl, g.pushforwardPath_isFutureOriented rep t hg hfo, - trivial, + g.pushforwardPath_isGeodesic rep hgeo, g.pushforwardPath_isPastEndpoint rep hpe, g.pushforwardPath_isFutureEndpoint rep hfe⟩ diff --git a/Physicslib4/Spacetime/LorentzCausality.lean b/Physicslib4/Spacetime/LorentzCausality.lean index 0f85422..34d1fed 100644 --- a/Physicslib4/Spacetime/LorentzCausality.lean +++ b/Physicslib4/Spacetime/LorentzCausality.lean @@ -293,6 +293,28 @@ theorem lorentzPath_isFutureEndpoint (g : InhomogeneousLorentzGroup) /-! ### Lorentz invariance of causal precedence and spacelikeness -/ +/-- **Lorentz transformations map geodesics to geodesics.** The velocity of `lorentzPath g μ` is +`g.linear` applied to the velocity of `μ` (`lorentzPath_mfderivWithin`), so it has zero +derivative wherever the velocity of `μ` does (`standardMinkowski_isGeodesic_iff`). + +Blueprint reference: `lmm:isometry-preserves-geodesics` (Minkowski case). -/ +theorem lorentzPath_isGeodesic (g : InhomogeneousLorentzGroup) + (μ : StandardMinkowskiSpacetime.SmoothPath) + (h : IsGeodesic StandardMinkowskiSpacetime μ) : + IsGeodesic StandardMinkowskiSpacetime (lorentzPath g μ) := by + rw [standardMinkowski_isGeodesic_iff] at h ⊢ + intro s hs + have hs' : s ∈ interior μ.parameterSpace := hs + let L : SpacetimeModel →L[ℝ] SpacetimeModel := + LinearMap.toContinuousLinearMap g.linear.toLinearMap + have hd : HasDerivAt (fun t ↦ L (show SpacetimeModel from μ.tangent t)) (L 0) s := + L.hasFDerivAt.comp_hasDerivAt s (h s hs') + rw [L.map_zero] at hd + refine hd.congr_of_eventuallyEq ?_ + filter_upwards [mem_interior_iff_mem_nhds.mp hs'] with t ht + exact lorentzPath_mfderivWithin g μ ht + + /-- **A Lorentz transformation maps causal trips to causal trips**, hence preserves causal precedence: if `p ≺ q` then `g • p ≺ g • q`. -/ theorem causalSegmentPrecedes_smul (g : InhomogeneousLorentzGroup) @@ -306,7 +328,7 @@ theorem causalSegmentPrecedes_smul (g : InhomogeneousLorentzGroup) lorentzPath g rep, rfl, lorentzPath_isCausal g rep hcausal, lorentzPath_isFutureOriented g rep hfut, - trivial, + lorentzPath_isGeodesic g rep hgeo, lorentzPath_isPastEndpoint g rep hpast, lorentzPath_isFutureEndpoint g rep hfuture⟩ @@ -392,7 +414,7 @@ theorem segmentPrecedes_smul (g : InhomogeneousLorentzGroup) lorentzPath g rep, rfl, lorentzPath_isTimelike g rep htimelike, lorentzPath_isFutureOriented g rep hfut, - trivial, + lorentzPath_isGeodesic g rep hgeo, lorentzPath_isPastEndpoint g rep hpast, lorentzPath_isFutureEndpoint g rep hfuture⟩ diff --git a/Physicslib4/Spacetime/Minkowski.lean b/Physicslib4/Spacetime/Minkowski.lean index 29071a1..1c469e7 100644 --- a/Physicslib4/Spacetime/Minkowski.lean +++ b/Physicslib4/Spacetime/Minkowski.lean @@ -7,6 +7,8 @@ import Physicslib4.Spacetime.Basic import Physicslib4.Spacetime.CausalStructure import Physicslib4.Spacetime.Curves import Physicslib4.Spacetime.Causality +import Physicslib4.Spacetime.AlongPath +import Physicslib4.Geometry.PseudoRiemannian.Flat import Mathlib.Geometry.Manifold.MFDeriv.SpecificFunctions import Mathlib.Geometry.Manifold.MFDeriv.Atlas import Mathlib.Geometry.Manifold.ContMDiff.NormedSpace @@ -666,8 +668,8 @@ below. The proof structure is as follows. `C^∞`; its derivative is the constant vector `q - p`, which is nonvanishing (since `p 0 < q 0` forces `q ≠ p`), timelike (the Minkowski form of `q - p` with itself is the hypothesis), and - future-oriented (since `(q - p) 0 > 0`). The geodesic flag - `IsGeodesic = True` is automatic for the chosen API, and the endpoint + future-oriented (since `(q - p) 0 > 0`). It is a geodesic because its + velocity is constant (`standardMinkowskiLineSegmentPath_isGeodesic`), and the endpoint conditions are witnessed by `0`, `1 ∈ frontier (Set.Icc 0 1) = {0, 1}` together with `μ 0 = p` and `μ 1 = q`. @@ -774,6 +776,107 @@ noncomputable def standardMinkowskiLineSegmentPath smoothOn := standardMinkowskiLineSegmentPath_smoothOn p q nonvanishing := standardMinkowskiLineSegmentPath_nonvanishing p q hpq +/-! ### Geodesics of standard Minkowski spacetime -/ + +/-- **The Levi-Civita connection of standard Minkowski spacetime is flat**: on vector fields +differentiable at `x`, it is the directional derivative. (The metric is the constant form +`minkowskiForm`.) + +Blueprint reference: `lmm:minkowski-levi-civita-flat`. -/ +theorem standardMinkowski_leviCivita_apply + {X : Π x : StandardMinkowskiSpacetime.Carrier, + TangentSpace StandardMinkowskiSpacetime.model x} + {x : StandardMinkowskiSpacetime.Carrier} + (hX : MDifferentiableAt StandardMinkowskiSpacetime.model + (StandardMinkowskiSpacetime.model.prod 𝓘(ℝ, SpacetimeModel)) (T% X) x) + (v : TangentSpace StandardMinkowskiSpacetime.model x) : + StandardMinkowskiSpacetime.toPseudoRiemannianMetric.leviCivita X x v + = fderiv ℝ (fun y : SpacetimeModel ↦ (X y : SpacetimeModel)) x v := + Geometry.PseudoRiemannianMetric.leviCivita_apply_eq_fderiv (E := SpacetimeModel) + (g := StandardMinkowskiSpacetime.toPseudoRiemannianMetric) minkowskiForm (fun _ => rfl) hX v + +open scoped Topology in +/-- At an interior parameter, a smooth path on standard Minkowski spacetime has ordinary +derivative its tangent vector. -/ +theorem standardMinkowski_smoothPath_hasDerivAt (μ : StandardMinkowskiSpacetime.SmoothPath) + {s : ℝ} (hs : s ∈ interior μ.parameterSpace) : + HasDerivAt (fun t ↦ (show SpacetimeModel from μ.toFun t)) + (show SpacetimeModel from μ.tangent s) s := by + have hn : μ.parameterSpace ∈ 𝓝 s := mem_interior_iff_mem_nhds.mp hs + have hmd : MDifferentiableAt 𝓘(ℝ, ℝ) 𝓘(ℝ, SpacetimeModel) + (fun t ↦ (show SpacetimeModel from μ.toFun t)) s := + (μ.smoothOn.contMDiffAt hn).mdifferentiableAt (by simp) + have ht : (show SpacetimeModel from μ.tangent s) + = deriv (fun t ↦ (show SpacetimeModel from μ.toFun t)) s := by + change mfderivWithin 𝓘(ℝ, ℝ) 𝓘(ℝ, SpacetimeModel) + (fun t ↦ (show SpacetimeModel from μ.toFun t)) μ.parameterSpace s (1 : ℝ) = _ + rw [mfderivWithin_of_mem_nhds hn, mfderiv_eq_fderiv] + rfl + rw [ht] + exact (mdifferentiableAt_iff_differentiableAt.1 hmd).hasDerivAt + +open scoped Topology in +/-- Along a smooth path on standard Minkowski spacetime, if a vector field `X` differentiable at +`μ s` extends the velocity near an interior parameter `s`, then the velocity has derivative +`∇_{μ'(s)} X` at `s`. -/ +theorem standardMinkowski_hasDerivAt_tangent_leviCivita + (μ : StandardMinkowskiSpacetime.SmoothPath) {s : ℝ} (hs : s ∈ interior μ.parameterSpace) + {X : Π x : StandardMinkowskiSpacetime.Carrier, TangentSpace StandardMinkowskiSpacetime.model x} + (hX : MDifferentiableAt StandardMinkowskiSpacetime.model + (StandardMinkowskiSpacetime.model.prod 𝓘(ℝ, SpacetimeModel)) (T% X) (μ.toFun s)) + (hXμ : ∀ᶠ t in 𝓝 s, X (μ.toFun t) = μ.tangent t) : + HasDerivAt (fun t ↦ (show SpacetimeModel from μ.tangent t)) + (show SpacetimeModel from StandardMinkowskiSpacetime.toPseudoRiemannianMetric.leviCivita + X (μ.toFun s) (μ.tangent s)) s := by + rw [standardMinkowski_leviCivita_apply hX] + have hd : DifferentiableAt ℝ (fun y : SpacetimeModel ↦ (X y : SpacetimeModel)) (μ.toFun s) := + mdifferentiableAt_iff_differentiableAt.1 <| + ((contMDiff_snd_tangentBundle_modelSpace SpacetimeModel 𝓘(ℝ, SpacetimeModel) + (n := 1)).mdifferentiable one_ne_zero _).comp _ hX + have h := hd.hasFDerivAt.comp_hasDerivAt s (standardMinkowski_smoothPath_hasDerivAt μ hs) + exact h.congr_of_eventuallyEq (hXμ.mono fun t ht ↦ ht.symm) + +open scoped Topology in +/-- **Geodesics of standard Minkowski spacetime are the paths with zero acceleration**: a smooth +path is a geodesic iff its velocity has derivative `0` at every interior parameter. + +Blueprint reference: `lmm:minkowski-lines-are-geodesics`. -/ +theorem standardMinkowski_isGeodesic_iff (μ : StandardMinkowskiSpacetime.SmoothPath) : + Spacetime.IsGeodesic StandardMinkowskiSpacetime μ ↔ + ∀ s ∈ interior μ.parameterSpace, + HasDerivAt (fun t ↦ (show SpacetimeModel from μ.tangent t)) 0 s := by + have key : ∀ s ∈ interior μ.parameterSpace, + ∀ X : Π x : StandardMinkowskiSpacetime.Carrier, + TangentSpace StandardMinkowskiSpacetime.model x, + ContMDiff StandardMinkowskiSpacetime.model + (StandardMinkowskiSpacetime.model.prod 𝓘(ℝ, SpacetimeModel)) ∞ (T% X) → + (∀ᶠ t in 𝓝 s, X (μ.toFun t) = μ.tangent t) → + HasDerivAt (fun t ↦ (show SpacetimeModel from μ.tangent t)) + (show SpacetimeModel from StandardMinkowskiSpacetime.toPseudoRiemannianMetric.leviCivita + X (μ.toFun s) (X (μ.toFun s))) s := fun s hs X hX hXμ ↦ by + rw [hXμ.self_of_nhds] + exact standardMinkowski_hasDerivAt_tangent_leviCivita μ hs + (hX.mdifferentiableAt (by simp)) hXμ + constructor + · intro hg s hs + obtain ⟨X, hX, hXμ⟩ := μ.exists_vectorField_eq_tangent hs + have h := key s hs X hX hXμ + rwa [hg s hs X hX hXμ] at h + · intro h s hs X hX hXμ + exact (key s hs X hX hXμ).unique (h s hs) + +/-- **Straight segments are geodesics.** The affinely parametrised segment from `p` to `q` is a +geodesic of standard Minkowski spacetime. + +Blueprint reference: `lmm:minkowski-lines-are-geodesics`. -/ +theorem standardMinkowskiLineSegmentPath_isGeodesic (p q : SpacetimeModel) (hpq : p ≠ q) : + Spacetime.IsGeodesic StandardMinkowskiSpacetime (standardMinkowskiLineSegmentPath p q hpq) := by + refine (standardMinkowski_isGeodesic_iff _).2 fun s hs ↦ ?_ + have hn : Set.Icc (0 : ℝ) 1 ∈ nhds s := mem_interior_iff_mem_nhds.mp hs + refine (hasDerivAt_const s (q - p)).congr_of_eventuallyEq ?_ + filter_upwards [hn] with t ht + exact standardMinkowskiLineSegmentPath_mfderivWithin p q t ht + /-! ### Forward direction: scaffolding for `chronologicalFuture ⊆ minkowskiForwardCone` @@ -1378,7 +1481,8 @@ theorem minkowskiForwardCone_subset_segmentPrecedes {p q : SpacetimeModel} fun s hs => standardMinkowskiLineSegmentPath_mfderivWithin p q s hs refine ⟨Spacetime.SmoothCurve.ofPath _ (standardMinkowskiLineSegmentPath p q hpq), ?_⟩ - refine ⟨standardMinkowskiLineSegmentPath p q hpq, rfl, ?_, ?_, trivial, ?_, ?_⟩ + refine ⟨standardMinkowskiLineSegmentPath p q hpq, rfl, ?_, ?_, + standardMinkowskiLineSegmentPath_isGeodesic p q hpq, ?_, ?_⟩ · intro s hs rw [htan s hs]; exact htl · intro s hs diff --git a/Physicslib4/Spacetime/MinkowskiDilation.lean b/Physicslib4/Spacetime/MinkowskiDilation.lean index f3e8cf4..5987a2b 100644 --- a/Physicslib4/Spacetime/MinkowskiDilation.lean +++ b/Physicslib4/Spacetime/MinkowskiDilation.lean @@ -84,7 +84,7 @@ theorem alexandrovBasis_image_smul (lam : ℝ) (hlam : 0 < lam) obtain ⟨p, q, rfl⟩ := hB refine ⟨lam • p, lam • q, ?_⟩ ext y - simp only [Set.mem_image, Set.mem_inter_iff] + simp only [Set.mem_inter_iff] rw [chronologicalFuture_standardMinkowski (p : SpacetimeModel), chronologicalPast_standardMinkowski (q : SpacetimeModel), chronologicalFuture_standardMinkowski (lam • (p : SpacetimeModel)), diff --git a/blueprint/src/sections/sec10/spacetime.tex b/blueprint/src/sections/sec10/spacetime.tex index 7a4618f..1344d86 100644 --- a/blueprint/src/sections/sec10/spacetime.tex +++ b/blueprint/src/sections/sec10/spacetime.tex @@ -319,13 +319,233 @@ \section{Spacetime}\label{sctn:spacetime} The witness for the past endpoint is a minimum $a$ of $\Sigma$ and the witness for the future endpoint is a maximum $b$, so $\Sigma$ is bounded below and above, with $\inf\Sigma = a$ and $\sup\Sigma = b$. Being also connected, nonempty and closed (\ref{def:paths}), $\Sigma = [a,b]$ by \texttt{eq\_Icc\_csInf\_csSup\_of\_connected\_bdd\_closed}. Finally $a < b$, since $a \le b$ and $a = b$ would make $\Sigma$ a singleton, contradicting that $\Sigma$ has more than one point. \end{proof} +\medskip +\noindent\textbf{The Levi-Civita connection and geodesics.} The trip definitions below require their curves to be geodesics. The following declarations make ``geodesic'' precise. They are stated for a general pseudo-Riemannian manifold, of which every spacetime is an instance, and they use covariant derivatives in Mathlib's sense (\texttt{IsCovariantDerivativeOn}, \texttt{CovariantDerivative}). No chart appears in any definition; charts and local frames are used only inside proofs. + +\begin{definition}[Pseudo-Riemannian Metric] + \label{def:pseudo-riemannian-metric} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric, Physicslib4.Spacetime.toPseudoRiemannianMetric} + \uses{def:spacetime} + \leanok + Let $M$ be a smooth Hausdorff manifold modelled on a finite-dimensional real normed space $E$ \emph{without boundary}: the model with corners $I$ is boundaryless (\texttt{I.Boundaryless}), so chart targets are open in $E$. (The chart and bump-function arguments below rely on this. The manifold of a spacetime in \ref{def:spacetime} has no boundary, so it satisfies this; the Lean structure \texttt{Spacetime} records this as its field \texttt{boundaryless}.) A \textit{pseudo-Riemannian metric} on $M$ is a family $g$ of continuous bilinear forms $g_x : TM|_x \to_L[\mathbb{R}] TM|_x \to_L[\mathbb{R}] \mathbb{R}$, one for each $x \in M$, such that + \begin{enumerate} + \item \emph{smooth:} $g$ is a $C^\infty$ section of the bundle of continuous bilinear forms on the tangent bundle, in exactly the bundle-section sense of the smoothness clause of \ref{def:spacetime}; + \item \emph{symmetric:} $g_x(v,w) = g_x(w,v)$ for all $x$ and $v, w \in TM|_x$; + \item \emph{nondegenerate:} if $v \in TM|_x$ satisfies $g_x(v,w) = 0$ for every $w \in TM|_x$, then $v = 0$. + \end{enumerate} + No positivity or signature condition is imposed. The pair $(M,g)$ is a \textit{pseudo-Riemannian manifold}. + + The metric of a spacetime (\ref{def:spacetime}) is a pseudo-Riemannian metric: it is smooth in this sense by definition, nondegenerate by definition, and symmetric by the \texttt{symm} field of the spacetime structure (informally: its Gram matrix in a Lorentzian basis is the symmetric matrix $\mathrm{diag}(-1,1,1,1)$). Everything below is stated for a pseudo-Riemannian manifold and therefore applies to every spacetime; the Lorentzian signature is not used. +\end{definition} + +\begin{definition}[Covariant Derivative; Metric Compatibility] + \label{def:metric-compatible-connection} + \lean{Physicslib4.Geometry.CovariantDerivative.IsMetricCompatibleWith} + \uses{def:pseudo-riemannian-metric} + \leanok + A \textit{vector field} is a section $X$ of $TM$, $x \mapsto X(x) \in TM|_x$. A \textit{covariant derivative} (\textit{Koszul connection}) on $TM$ is a map $\nabla$ sending each vector field $Y$ to a section $\nabla Y$ of $\mathrm{Hom}(TM, TM)$, so that $(\nabla Y)_x : TM|_x \to_L[\mathbb{R}] TM|_x$, such that for every $x \in M$ + \begin{enumerate} + \item \emph{additivity:} $\nabla(Y + Y')_x = (\nabla Y)_x + (\nabla Y')_x$ whenever $Y, Y'$ are differentiable at $x$; + \item \emph{Leibniz rule:} $\nabla(fY)_x = f(x)\,(\nabla Y)_x + df_x(\cdot)\, Y(x)$ whenever $Y$ and the function $f : M \to \mathbb{R}$ are differentiable at $x$. + \end{enumerate} + This is Mathlib's \texttt{IsCovariantDerivativeOn} on all of $M$. For a vector field $X$ we write $(\nabla_X Y)(x) = (\nabla Y)_x\big(X(x)\big)$; by construction it depends on $X$ only through the value $X(x)$. + + A covariant derivative $\nabla$ on $TM$ is \textit{compatible with} a pseudo-Riemannian metric $g$ if for every $x \in M$ and all vector fields $X, Y, Z$ differentiable at $x$, + \begin{align} + X\big(g(Y,Z)\big)(x) = g_x\big((\nabla_X Y)(x), Z(x)\big) + g_x\big(Y(x), (\nabla_X Z)(x)\big), + \end{align} + where $X\big(g(Y,Z)\big)(x)$ is the derivative at $x$, in the direction $X(x)$, of the function $y \mapsto g_y(Y(y), Z(y))$. This is the condition of Mathlib's \texttt{CovariantDerivative.IsMetricCompatible} (in its form \texttt{isMetricCompatible\_iff}) with the inner product replaced by $g$. +\end{definition} + +\begin{definition}[Levi-Civita Connection] + \label{def:levi-civita-connection} + \lean{Physicslib4.Geometry.CovariantDerivative.IsLeviCivitaFor} + \uses{def:metric-compatible-connection} + \leanok + A covariant derivative $\nabla$ on $TM$ is a \textit{Levi-Civita connection} of the pseudo-Riemannian metric $g$ if it is + \begin{enumerate} + \item \emph{torsion-free:} $(\nabla_X Y)(x) - (\nabla_Y X)(x) = [X,Y](x)$ for every $x$ and all vector fields $X, Y$ differentiable at $x$, where $[X,Y]$ is the Lie bracket of vector fields (Mathlib's \texttt{VectorField.mlieBracket}; equivalently \texttt{CovariantDerivative.torsion} vanishes, by \texttt{torsion\_eq\_zero\_iff}); and + \item \emph{compatible with $g$} in the sense of \ref{def:metric-compatible-connection}. + \end{enumerate} + This mirrors Mathlib's \texttt{CovariantDerivative.IsLeviCivitaConnection}, with the inner product replaced by $g$. +\end{definition} + +\begin{lemma}[Musical Isomorphism] + \label{lmm:musical-isomorphism} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.bijective_val} + \uses{def:pseudo-riemannian-metric} + \leanok + Let $g$ be a pseudo-Riemannian metric on $M$. For each $x \in M$ the map $\flat_x : TM|_x \to (TM|_x)^*$, $v \mapsto g_x(v, \cdot)$, is a linear isomorphism. +\end{lemma} +\begin{proof} + \leanok + \uses{def:pseudo-riemannian-metric} + Nondegeneracy says exactly that $\flat_x$ is injective, and $TM|_x$ and its dual have the same finite dimension, so $\flat_x$ is bijective; this is \texttt{LinearMap.BilinForm.toDual} applied to $g_x$ (continuity is automatic in finite dimension). +\end{proof} + +\begin{lemma}[Smoothness of the Inverse Musical Isomorphism] + \label{lmm:musical-inverse-smooth} + \uses{lmm:musical-isomorphism} + The map $x \mapsto \flat_x^{-1}$ of \ref{lmm:musical-isomorphism} is smooth: it is a $C^\infty$ section of the bundle $\mathrm{Hom}(T^*M, TM)$. +\end{lemma} +\begin{proof} + \uses{lmm:musical-isomorphism, def:pseudo-riemannian-metric} + Work in a local trivialisation of the bundle of bilinear forms: there $x \mapsto \flat_x$ is a $C^\infty$ map into the invertible elements of $E \to_L E^*$ by the smoothness clause of $g$, and inversion of continuous linear equivalences is $C^\infty$ (\texttt{contDiffAt\_map\_inverse}), so the composite $x \mapsto \flat_x^{-1}$ is $C^\infty$ in each trivialisation. +\end{proof} + +\begin{lemma}[Koszul Formula] + \label{lmm:koszul-formula} + \lean{Physicslib4.Geometry.CovariantDerivative.IsLeviCivitaFor.koszul} + \uses{def:levi-civita-connection} + \leanok + Let $\nabla$ be a Levi-Civita connection of $g$. For every $x \in M$ and all vector fields $X, Y, Z$ differentiable at $x$, + \begin{align} + 2\,g\big(\nabla_X Y, Z\big) = X\,g(Y,Z) + Y\,g(X,Z) - Z\,g(X,Y) + g\big([X,Y],Z\big) - g\big([X,Z],Y\big) - g\big([Y,Z],X\big), + \end{align} + both sides evaluated at $x$. +\end{lemma} +\begin{proof} + \leanok + \uses{def:levi-civita-connection} + Write metric compatibility three times, for the cyclic triples $(X;Y,Z)$, $(Y;Z,X)$ and $(Z;X,Y)$, and torsion-freeness three times, for the pairs $(X,Z)$, $(Y,X)$ and $(Z,Y)$, each paired with the remaining field through $g$. Using symmetry of $g$ and antisymmetry of the bracket, the stated identity is a fixed linear combination of these six equations. This is the argument of Mathlib's \texttt{IsLeviCivitaConnection.apply\_eq}, with the inner product replaced by $g$ (only symmetry and bilinearity of the inner product are used there). +\end{proof} + +\begin{lemma}[Tensoriality of the Koszul Expression] + \label{lmm:koszul-expression-tensorial} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.tensorialAt_koszulAux₁, Physicslib4.Geometry.PseudoRiemannianMetric.tensorialAt_koszulAux₃, Physicslib4.Geometry.PseudoRiemannianMetric.koszulAux} + \uses{def:pseudo-riemannian-metric, def:metric-compatible-connection} + \leanok + For vector fields $X, Y, Z$ write $K(X,Y,Z)$ for one half of the right-hand side of the Koszul formula (\ref{lmm:koszul-formula}). Fix $x \in M$ and a vector field $Y$ differentiable at $x$. Then $K(X,Y,Z)(x)$ depends on $X$ and $Z$ only through $X(x)$ and $Z(x)$, and is bilinear in them. Hence there is a continuous bilinear form $K_x(Y) : TM|_x \times TM|_x \to \mathbb{R}$ with $K_x(Y)\big(X(x), Z(x)\big) = K(X,Y,Z)(x)$ for all $X, Z$ differentiable at $x$. +\end{lemma} +\begin{proof} + \leanok + \uses{def:pseudo-riemannian-metric} + Additivity in $X$ and in $Z$ is clear. For a function $f$ differentiable at $x$, expanding with the Leibniz rule for the derivative of a function and $[fX, W] = f[X,W] - (Wf)X$ shows $K(fX, Y, Z)(x) = f(x)\,K(X,Y,Z)(x)$ and $K(X,Y,fZ)(x) = f(x)\,K(X,Y,Z)(x)$: the terms containing a derivative of $f$ cancel in pairs by symmetry of $g$. So $K$ is tensorial at $x$ in $X$ and in $Z$ (Mathlib's \texttt{TensorialAt}), and \texttt{TensorialAt.mkHom\ensuremath{_2}} produces $K_x(Y)$. This is Mathlib's \texttt{tensorialAt\_leviCivitaAuxInner\ensuremath{_1}} and \texttt{tensorialAt\_leviCivitaAuxInner\ensuremath{_3}} with the inner product replaced by $g$. +\end{proof} + +\begin{lemma}[The Koszul Connection is a Covariant Derivative] + \label{lmm:koszul-connection-is-covariant-derivative} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.isCovariantDerivativeOn_leviCivitaAux} + \uses{lmm:koszul-expression-tensorial, lmm:musical-isomorphism, def:metric-compatible-connection} + \leanok + Define $\nabla^K$ by letting $(\nabla^K Y)_x(v) \in TM|_x$ be the unique vector with $g_x\big((\nabla^K Y)_x(v), w\big) = K_x(Y)(v, w)$ for all $w \in TM|_x$, that is $(\nabla^K Y)_x(v) = \flat_x^{-1}\big(K_x(Y)(v,\cdot)\big)$ (and $0$ if $Y$ is not differentiable at $x$). Then $\nabla^K$ is a covariant derivative on $TM$. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:koszul-expression-tensorial, lmm:musical-isomorphism} + The map $\nabla^K$ is well defined and continuous linear in $v$ by \ref{lmm:koszul-expression-tensorial} and \ref{lmm:musical-isomorphism}. Since $\flat_x$ is injective it suffices to check the two axioms after pairing with an arbitrary $Z$ differentiable at $x$ through $g_x$. Additivity in $Y$ is additivity of $K$ in its middle slot. For the Leibniz rule, expanding $K(X, fY, Z)$ gives $K(X,fY,Z) = f\,K(X,Y,Z) + (Xf)\,g(Y,Z)$: the derivative-of-$f$ terms come from $X\,g(fY,Z)$, giving $(Xf)\,g(Y,Z)$; from $Z\,g(X,fY)$, giving $-(Zf)\,g(X,Y)$; from $[X,fY] = f[X,Y] + (Xf)Y$, giving $(Xf)\,g(Y,Z)$; and from $[fY,Z] = f[Y,Z] - (Zf)Y$, giving $+(Zf)\,g(Y,X)$. By symmetry of $g$ the $Zf$ terms cancel, leaving $\tfrac12 \cdot 2\,(Xf)\,g(Y,Z)$ (the term $fY\,g(X,Z)$ contains no derivative of $f$). This is the argument of Mathlib's \texttt{isCovariantDerivativeOn\_leviCivitaAux}. +\end{proof} + +\begin{lemma}[The Koszul Connection is Levi-Civita] + \label{lmm:koszul-connection-is-levi-civita} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.isMetricCompatibleWith_koszulConnection, Physicslib4.Geometry.PseudoRiemannianMetric.torsion_koszulConnection_eq_zero} + \uses{lmm:koszul-connection-is-covariant-derivative, def:levi-civita-connection} + \leanok + The covariant derivative $\nabla^K$ of \ref{lmm:koszul-connection-is-covariant-derivative} is a Levi-Civita connection of $g$. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:koszul-connection-is-covariant-derivative, lmm:musical-isomorphism} + Pair with an arbitrary $Z$ through $g$ and use injectivity of $\flat_x$. Torsion-freeness: $K(X,Y,Z) - K(Y,X,Z) = g([X,Y],Z)$ by direct cancellation, using symmetry of $g$ and antisymmetry of the bracket. Compatibility: $K(X,Y,Z) + K(X,Z,Y) = X\,g(Y,Z)$, again by cancellation. These are Mathlib's \texttt{torsion\_leviCivitaConnection\_eq\_zero} and \texttt{isMetricCompatible\_leviCivitaConnection} with the inner product replaced by $g$. +\end{proof} + +\begin{theorem}[Existence and Uniqueness of the Levi-Civita Connection] + \label{thrm:levi-civita-exists-unique} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.exists_isLeviCivitaFor, Physicslib4.Geometry.CovariantDerivative.IsLeviCivitaFor.uniqueness, Physicslib4.Geometry.PseudoRiemannianMetric.leviCivita, Physicslib4.Geometry.PseudoRiemannianMetric.isLeviCivitaFor_leviCivita} + \uses{def:levi-civita-connection} + \leanok + Every pseudo-Riemannian manifold $(M,g)$ has a Levi-Civita connection, and any two Levi-Civita connections $\nabla, \nabla'$ of $g$ agree on differentiable vector fields: $(\nabla Y)_x = (\nabla' Y)_x$ whenever $Y$ is differentiable at $x$. We call it \textit{the} Levi-Civita connection of $g$. (Covariant derivatives are unconstrained on non-differentiable fields, so this is the correct form of uniqueness, as in Mathlib's \texttt{IsLeviCivitaConnection.uniqueness}.) +\end{theorem} +\begin{proof} + \leanok + \uses{lmm:koszul-formula, lmm:musical-isomorphism, lmm:koszul-connection-is-levi-civita} + Existence is \ref{lmm:koszul-connection-is-levi-civita}. For uniqueness, fix $x$, $Y$ differentiable at $x$ and $v \in TM|_x$, and let $X$ be a smooth vector field with $X(x) = v$ (\texttt{FiberBundle.extend}). By the Koszul formula (\ref{lmm:koszul-formula}) $g_x\big((\nabla_X Y)(x), Z(x)\big) = g_x\big((\nabla'_X Y)(x), Z(x)\big)$ for every $Z$ differentiable at $x$. Every $w \in TM|_x$ is such a $Z(x)$: take $Z = \texttt{FiberBundle.extend}\;E\;w$, which is differentiable at $x$ (\texttt{FiberBundle.mdifferentiableAt\_extend}) with $Z(x) = w$ (\texttt{FiberBundle.extend\_apply\_self}). Hence $\flat_x\big((\nabla Y)_x v\big) = \flat_x\big((\nabla' Y)_x v\big)$, and injectivity (\ref{lmm:musical-isomorphism}) gives equality. +\end{proof} + +\begin{lemma}[A Function Vanishing Along a Path has Zero Derivative Along It] + \label{lmm:derivative-vanishes-along-path} + \lean{Physicslib4.Spacetime.SmoothPath.mfderiv_apply_tangent_eq_zero} + \uses{def:paths} + \leanok + Let $\mu : \Sigma \to M$ be a smooth path, $s \in \Sigma$, and $f : M \to \mathbb{R}$ differentiable at $\mu(s)$ with $f(\mu(t)) = 0$ for all $t \in \Sigma$ in a neighbourhood of $s$. Then $f(\mu(s)) = 0$ and $df_{\mu(s)}\big(\dot\mu(s)\big) = 0$, where $\dot\mu(s)$ is the tangent vector of $\mu$ at $s$ (the within-derivative on $\Sigma$). +\end{lemma} +\begin{proof} + \leanok + \uses{def:paths, lmm:path-parameter-unique-diff} + The first claim is the hypothesis at $t = s$. By the chain rule within $\Sigma$ (\texttt{HasMFDerivAt.comp\_hasMFDerivWithinAt}) the within-derivative of $f \circ \mu$ at $s$ is $df_{\mu(s)} \circ d\mu$, whose value on $1$ is $df_{\mu(s)}(\dot\mu(s))$. On the other hand $f \circ \mu$ is eventually equal to $0$ within $\Sigma$ at $s$, so it also has within-derivative $0$ (\texttt{HasMFDerivWithinAt.congr\_of\_eventuallyEq}). Within-derivatives on $\Sigma$ are unique (\ref{lmm:path-parameter-unique-diff}), so the two agree. +\end{proof} + +\begin{lemma}[Covariant Derivative Along a Curve is Local] + \label{lmm:covariant-derivative-along-curve-local} + \lean{Physicslib4.Spacetime.SmoothPath.covDeriv_eq_of_eventuallyEq} + \uses{def:metric-compatible-connection, def:paths} + \leanok + Let $\nabla$ be a covariant derivative on $TM$, $\mu : \Sigma \to M$ a smooth path, $s \in \Sigma$, and $X$ a vector field with $X(\mu(s)) = \dot\mu(s)$, where $\dot\mu(s)$ is the tangent vector of $\mu$ at $s$ (the within-derivative on $\Sigma$). If $Y, Y'$ are smooth vector fields with $Y(\mu(t)) = Y'(\mu(t))$ for all $t \in \Sigma$ in a neighbourhood of $s$, then $(\nabla_X Y)(\mu(s)) = (\nabla_X Y')(\mu(s))$. +\end{lemma} +\begin{proof} + \leanok + \uses{def:metric-compatible-connection, lmm:derivative-vanishes-along-path} + Put $p = \mu(s)$ and $W = Y - Y'$; by additivity it suffices to show $(\nabla W)_p(\dot\mu(s)) = 0$. Choose a local frame $e_1, \dots, e_n$ of $TM$ on a neighbourhood $U$ of $p$ (Mathlib's \texttt{localFrame}, with smooth coefficient functions \texttt{localFrameCoeff}), so that $W = \sum_i f^i e_i$ on $U$ with $f^i$ smooth near $p$. Since $\nabla W$ at $p$ depends only on the germ of $W$ (\texttt{IsCovariantDerivativeOn.congr\_of\_eventuallyEq}), the Leibniz rule gives $(\nabla W)_p(\dot\mu(s)) = \sum_i df^i_p(\dot\mu(s))\,e_i(p) + \sum_i f^i(p)\,(\nabla e_i)_p(\dot\mu(s))$. Here $f^i(\mu(t)) = 0$ for $t \in \Sigma$ near $s$, so $f^i(p) = 0$ and $df^i_p(\dot\mu(s)) = 0$ by \ref{lmm:derivative-vanishes-along-path}. Both sums vanish. +\end{proof} + +\begin{lemma}[Local Vector Fields Globalise] + \label{lmm:local-vector-field-globalises} + \lean{Physicslib4.Spacetime.exists_contMDiff_vectorField_eventuallyEq} + \leanok + Let $p \in M$ and let $X_0$ be a vector field that is smooth on an open neighbourhood $U$ of $p$ (for instance, one whose expression in the tangent-bundle trivialisation over the chart at $p$ is $C^\infty$ on $U$). There is a smooth vector field $X$ on $M$ that agrees with $X_0$ on a neighbourhood of $p$. +\end{lemma} +\begin{proof} + \leanok + Shrink $U$ into the chart domain at $p$ and take a smooth bump function $\rho$ centred at $p$ (\texttt{SmoothBumpFunction}) with support in $U$ and $\rho = 1$ near $p$. Then $X = \rho X_0$, extended by $0$ outside $U$, is smooth (\texttt{SmoothBumpFunction.contMDiff\_smul}, applied in the tangent-bundle trivialisation over the chart) and equals $X_0$ where $\rho = 1$. +\end{proof} + +\begin{lemma}[Local Left Inverse of a Smooth Path] + \label{lmm:path-local-left-inverse} + \lean{Physicslib4.Spacetime.SmoothPath.exists_localLeftInverse} + \uses{def:paths, def:pseudo-riemannian-metric} + \leanok + Let $\mu : \Sigma \to M$ be a smooth path into a boundaryless manifold and $s$ an interior point of $\Sigma$. There are an open neighbourhood $U$ of $\mu(s)$ and a $C^\infty$ function $\tau : U \to \mathbb{R}$ with $\tau(\mu(t)) = t$ for all $t$ in a neighbourhood of $s$ (inside the interior of $\Sigma$). +\end{lemma} +\begin{proof} + \leanok + \uses{def:paths} + Let $\varphi$ be the chart at $p = \mu(s)$ and $c = \varphi \circ \mu$ on an open interval $J \ni s$ inside the interior of $\Sigma$ with $\mu(J)$ in the chart domain; $c$ is $C^\infty$ on $J$ and $c'(s) \neq 0$ by \ref{def:paths}. Choose a continuous linear functional $\ell$ with $\ell(c'(s)) = 1$ (\texttt{SeparatingDual.exists\_eq\_one}). The real function $h = \ell \circ c$ has $h'(s) = 1$, so it restricts to an open partial homeomorphism near $s$ (\texttt{HasStrictFDerivAt.toOpenPartialHomeomorph}), whose inverse $\sigma$ is $C^\infty$ at every point of its target, where $h' \neq 0$ after shrinking (\texttt{OpenPartialHomeomorph.contDiffAt\_symm}). Put $\tau = \sigma \circ \ell \circ \varphi$ on $U = \varphi^{-1}\big(\ell^{-1}(\text{target of }\sigma)\big)$, which is open because chart targets are open (boundaryless model); then $\tau(\mu(t)) = \sigma(h(t)) = t$ for $t$ near $s$. +\end{proof} + +\begin{lemma}[The Velocity of a Smooth Path Extends to a Vector Field] + \label{lmm:velocity-extends} + \lean{Physicslib4.Spacetime.SmoothPath.exists_vectorField_eq_tangent} + \uses{def:paths} + \leanok + Let $\mu : \Sigma \to M$ be a smooth path into a boundaryless manifold and $s$ an interior point of $\Sigma$. There is a smooth vector field $X$ on $M$ with $X(\mu(t)) = \dot\mu(t)$ for all $t$ in a neighbourhood of $s$. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:path-local-left-inverse, lmm:local-vector-field-globalises} + Take $U$ and $\tau$ from \ref{lmm:path-local-left-inverse}, shrunk into the chart domain at $p = \mu(s)$ and so that $\tau(U)$ lies in an open interval $J \ni s$ inside the interior of $\Sigma$. Let $c = \varphi \circ \mu$ be the chart expression of $\mu$ on $J$. Define $X_0$ on $U$ as the vector field whose chart expression (in the tangent-bundle trivialisation over the chart) at $y$ is $c'\big(\tau(y)\big)$; it is $C^\infty$ because $c'$ and $\tau$ are. For $t$ near $s$ we have $\tau(\mu(t)) = t$, so $X_0(\mu(t))$ has chart expression $c'(t)$, i.e.\ $X_0(\mu(t)) = \dot\mu(t)$. Globalise $X_0$ by \ref{lmm:local-vector-field-globalises}. +\end{proof} + +\begin{definition}[Geodesic] + \label{def:geodesic} + \lean{Physicslib4.Spacetime.IsGeodesic} + \uses{def:paths, thrm:levi-civita-exists-unique, lmm:covariant-derivative-along-curve-local, lmm:velocity-extends} + \leanok + Let $(M,g)$ be a pseudo-Riemannian manifold (for instance a spacetime) with Levi-Civita connection $\nabla$ (\ref{thrm:levi-civita-exists-unique}). A smooth path $\mu : \Sigma \to M$ is a \textit{geodesic} if for every $s$ in the interior of $\Sigma$ and every smooth vector field $X$ on $M$ with $X(\mu(t)) = \dot\mu(t)$ for all $t$ in a neighbourhood of $s$, + \begin{align} + (\nabla_X X)(\mu(s)) = 0. + \end{align} + Geodesics in this sense are \emph{affinely parametrised}: the condition is imposed on the path $\mu$ itself, not on its curve. + + By \ref{lmm:covariant-derivative-along-curve-local} the value $(\nabla_X X)(\mu(s))$ is the same for all such $X$, and by \ref{lmm:velocity-extends} such $X$ exist at every interior $s$; so the condition is equivalent to requiring $(\nabla_X X)(\mu(s)) = 0$ for \emph{some} such $X$ at each interior $s$. Since $\Sigma$ is a non-degenerate interval (\ref{def:paths}), its interior is non-empty and dense in $\Sigma$, so the condition is not vacuous. (At an endpoint of $\Sigma$ the covariant acceleration, computed from a one-sided extension, is the limit of its interior values, so the geodesic equation there would follow by continuity; it is therefore not imposed separately.) A reparametrisation $\mu \circ \sigma$ of a geodesic $\mu$ satisfies the condition again if and only if $\sigma$ is affine, $\sigma(u) = \alpha u + \beta$ with $\alpha \neq 0$; for other reparametrisations the covariant acceleration acquires the term $\sigma''\,\dot\mu \circ \sigma$. +\end{definition} + \begin{definition}[Trip] \label{def:trip} \lean{Physicslib4.Spacetime.IsTripSegment, Physicslib4.Spacetime.IsTrip, Physicslib4.Spacetime.ChronologicallyPrecedes} \leanfile{Physicslib4/Spacetime/Causality.lean} \leanok - \uses{def:curves, def:future-and-past-oriented-smooth-curves, def:timelike-and-causal-smooth-curves, def:endpoints} - A \textit{trip segment} is a curve which is a future-oriented, timelike geodesic. A \textit{trip} is a curve which is \emph{piecewise} a future-oriented, timelike geodesic: a finite chain of trip segments $p = x_0, x_1, \dots, x_n = q$ joined at matching endpoints. Formally this is the transitive closure of single-segment precedence, which is what makes the relation transitive by concatenation. A trip \textit{from} $p$ to $q$ is a trip with past endpoint $p$ and future endpoint $q$. We write $p \ll q$ if and only if there exists a trip from $p$ to $q$. + \uses{def:curves, def:future-and-past-oriented-smooth-curves, def:timelike-and-causal-smooth-curves, def:endpoints, def:geodesic} + A \textit{trip segment} is a curve which is a future-oriented, timelike geodesic (\ref{def:geodesic}). A \textit{trip} is a curve which is \emph{piecewise} a future-oriented, timelike geodesic: a finite chain of trip segments $p = x_0, x_1, \dots, x_n = q$ joined at matching endpoints. Formally this is the transitive closure of single-segment precedence, which is what makes the relation transitive by concatenation. A trip \textit{from} $p$ to $q$ is a trip with past endpoint $p$ and future endpoint $q$. We write $p \ll q$ if and only if there exists a trip from $p$ to $q$. \end{definition} \begin{definition}[Causal Trip] @@ -333,12 +553,11 @@ \section{Spacetime}\label{sctn:spacetime} \lean{Physicslib4.Spacetime.IsCausalTripSegment, Physicslib4.Spacetime.IsCausalTrip, Physicslib4.Spacetime.CausallyPrecedes} \leanfile{Physicslib4/Spacetime/Causality.lean} \leanok - \uses{def:curves, def:future-and-past-oriented-smooth-curves, def:timelike-and-causal-smooth-curves, def:endpoints} - A \textit{causal trip segment} is a curve which is a future-oriented, causal geodesic. (Note a causal geodesic is possibly degenerate.) A \textit{causal trip} is a curve which is piecewise a future-oriented, causal geodesic: a finite chain of causal trip segments joined at matching endpoints. A causal trip \textit{from} $p$ to $q$ is a causal trip with past endpoint $p$ and future endpoint $q$. We write $p \prec q$ if and only if there exists a causal trip from $p$ to $q$. + \uses{def:curves, def:future-and-past-oriented-smooth-curves, def:timelike-and-causal-smooth-curves, def:endpoints, def:geodesic} + A \textit{causal trip segment} is a curve which is a future-oriented, causal geodesic (\ref{def:geodesic}). (Note a causal geodesic is possibly degenerate.) A \textit{causal trip} is a curve which is piecewise a future-oriented, causal geodesic: a finite chain of causal trip segments joined at matching endpoints. A causal trip \textit{from} $p$ to $q$ is a causal trip with past endpoint $p$ and future endpoint $q$. We write $p \prec q$ if and only if there exists a causal trip from $p$ to $q$. \end{definition} \medskip -\noindent\textbf{Remark (geodesic placeholder in the formalization).} In the Lean formalization the ``geodesic'' clause of a (causal) trip segment is currently a \emph{placeholder}: the predicate \texttt{Physicslib4.Spacetime.IsGeodesic} is defined to be \texttt{True}, so it imposes no constraint. A faithful geodesic condition requires the Levi-Civita connection of the metric (auto-parallelism of the tangent vector along the curve), which the version of Mathlib pinned by this project does not provide. Consequently the formalized (causal) trip segments are future-oriented timelike (resp. causal) curves with the correct past and future endpoints, but their geodesic property is not yet enforced; the endpoint, timelike/causal, and future-orientation content is faithful. This is the one place where \ref{def:trip} and \ref{def:causal-trip} diverge from their Lean implementations, and it should be replaced by the genuine geodesic condition once a Lorentzian Levi-Civita connection is available in Mathlib. \begin{theorem}[Transitivity of chronological and causal precedence] \label{thrm:precedence-transitive} @@ -355,7 +574,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[No Closed Causal Curve (Causality Condition)] \label{def:no-closed-causal-curve} @@ -367,7 +585,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Irreflexivity and Antisymmetry under Causality] \label{thrm:causal-order-refinements} @@ -384,7 +601,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Chronological Future and Chronological Past] \label{def:chronological-future-and-chronological-past} @@ -403,7 +619,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Causal Future and Causal Past] \label{def:causal-future-and-causal-past} @@ -422,7 +637,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Chronological Precedence Implies Causal Precedence] \label{lmm:chronological-implies-causal} @@ -438,7 +652,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Monotonicity of Futures and Pasts] \label{lmm:future-past-monotone} @@ -454,7 +667,6 @@ \section{Spacetime}\label{sctn:spacetime} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \subsection{Causal diamonds} @@ -475,7 +687,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Structural properties of the causal diamond] \label{lmm:causal-diamond-structure} @@ -496,7 +707,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Chronological diamonds inside causal diamonds] \label{thrm:causal-diamond-vs-chronological} @@ -516,7 +726,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Spacelike Related] \label{def:spacelike-related} @@ -528,7 +737,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Completely Spacelike] \label{def:completely-spacelike} @@ -540,7 +748,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Symmetry of Spacelike Separation] \label{lmm:completely-spacelike-symm} @@ -556,7 +763,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Structural Properties of Complete Spacelike Separation] \label{lmm:completely-spacelike-structural} @@ -572,7 +778,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Spacelike Complement of a Region] \label{def:spacelike-complement} @@ -584,7 +789,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Order Structure of the Spacelike Complement] \label{lmm:spacelike-complement-order} @@ -600,7 +804,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Causal closure operator] \label{def:causal-closure} @@ -612,7 +815,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[The Causal Closure is a Closure Operator] \label{lmm:causal-closure-is-closure-operator} @@ -634,7 +836,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Causally complete region] \label{def:causally-complete-region} @@ -646,7 +847,6 @@ \subsection{Causal diamonds} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Lattice of causally complete regions] \label{thrm:causally-complete-lattice} @@ -663,7 +863,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[De Morgan Laws for the Spacelike Complement] \label{lmm:spacelike-complement-de-morgan} @@ -687,7 +886,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[De Morgan Laws for the Causal Complement] \label{thrm:causal-complement-de-morgan} @@ -727,7 +925,6 @@ \subsection{Causal diamonds} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \subsection{Causal convexity} @@ -740,7 +937,6 @@ \subsection{Causal convexity} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Causal diamonds are causally convex] \label{lmm:causal-diamond-causally-convex} @@ -756,7 +952,6 @@ \subsection{Causal convexity} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Causally complete regions are causally convex] \label{thrm:causally-complete-convex} @@ -779,7 +974,6 @@ \subsection{Causal convexity} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \subsection{Causal convexity: closure structure} @@ -807,7 +1001,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Causal-convex hull] \label{def:causal-convex-hull} @@ -822,7 +1015,6 @@ \subsection{Causal convexity: closure structure} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[The Causal-Convex Hull is Extensive and Causally Convex] \label{lmm:causal-convex-hull-extensive} @@ -842,7 +1034,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[The causal-convex hull is a closure operator] \label{thrm:causal-convex-hull-closure} @@ -871,7 +1062,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Alexandrov Topology] \label{def:alexandrov-topology} @@ -883,7 +1073,6 @@ \subsection{Causal convexity: closure structure} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Basis Sets Are Alexandrov-Open] \label{lmm:alexandrov-basis-open} @@ -899,7 +1088,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Openness of Chronological Futures and Pasts] \label{lmm:chronological-future-past-open} @@ -929,7 +1117,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Unconditional Openness of Chronological Futures and Pasts on Standard Minkowski] \label{lmm:minkowski-chronological-open} @@ -955,7 +1142,45 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. + +\begin{lemma}[The Directional Derivative is Levi-Civita on Standard Minkowski] + \label{lmm:minkowski-directional-derivative-levi-civita} + \lean{Physicslib4.Geometry.PseudoRiemannianMetric.isLeviCivitaFor_flatConnection, Physicslib4.Geometry.flatConnection, Physicslib4.Geometry.isCovariantDerivativeOn_fderiv} + \uses{def:standard-minkowski-spacetime, def:levi-civita-connection} + \leanok + On standard Minkowski spacetime the tangent space at every point is $\mathbb{R}^4$ itself, so a vector field is a map $Y : \mathbb{R}^4 \to \mathbb{R}^4$. The \textit{trivial connection} $D$, $(DY)_x(v) = DY(x)\,v$ (the Fr\'echet derivative of the components of $Y$ in the direction $v$, and $0$ where $Y$ is not differentiable), is a Levi-Civita connection of the Minkowski metric. +\end{lemma} +\begin{proof} + \leanok + \uses{def:standard-minkowski-spacetime, def:levi-civita-connection} + $D$ is a covariant derivative by linearity of the derivative and the product rule (\texttt{fderiv\_add}, \texttt{fderiv\_smul}). It is torsion-free because on a vector space the Lie bracket is $[X,Y](x) = DY(x)X(x) - DX(x)Y(x)$ (\texttt{VectorField.mlieBracketWithin\_eq\_lieBracketWithin} and \texttt{VectorField.lieBracket\_eq}). It is compatible with $g$ because $g$ is a constant bilinear form, so the derivative of $x \mapsto g(Y(x), Z(x))$ in direction $v$ is $g(DY(x)v, Z(x)) + g(Y(x), DZ(x)v)$ (derivative of a bounded bilinear map, \texttt{IsBoundedBilinearMap.hasFDerivAt} composed by the chain rule). +\end{proof} + +\begin{lemma}[The Minkowski Levi-Civita Connection is Flat] + \label{lmm:minkowski-levi-civita-flat} + \lean{Physicslib4.standardMinkowski_leviCivita_apply, Physicslib4.Geometry.PseudoRiemannianMetric.leviCivita_apply_eq_fderiv} + \uses{lmm:minkowski-directional-derivative-levi-civita, thrm:levi-civita-exists-unique} + \leanok + On standard Minkowski spacetime the Levi-Civita connection $\nabla$ is the trivial connection: $(\nabla_X Y)(x) = DY(x)\,X(x)$ for every vector field $X$ and every $Y$ differentiable at $x$. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:minkowski-directional-derivative-levi-civita, thrm:levi-civita-exists-unique} + $D$ is a Levi-Civita connection by \ref{lmm:minkowski-directional-derivative-levi-civita}, so it agrees with $\nabla$ on differentiable vector fields by the uniqueness part of \ref{thrm:levi-civita-exists-unique}. +\end{proof} + +\begin{lemma}[Straight Lines are Geodesics in Standard Minkowski] + \label{lmm:minkowski-lines-are-geodesics} + \lean{Physicslib4.standardMinkowskiLineSegmentPath_isGeodesic, Physicslib4.standardMinkowski_isGeodesic_iff} + \uses{def:geodesic, def:standard-minkowski-spacetime} + \leanok + On standard Minkowski spacetime, let $p, v \in \mathbb{R}^4$ with $v \neq 0$ and let $\Sigma$ be a parameter space. The affinely parametrised straight path $\mu(t) = p + t v$, $t \in \Sigma$, is a smooth path and a geodesic. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:minkowski-levi-civita-flat, lmm:covariant-derivative-along-curve-local, def:geodesic} + $\mu$ is affine, hence smooth, with constant velocity $\dot\mu(t) = v \neq 0$. Let $s$ be an interior point of $\Sigma$ and let $X$ be a smooth vector field with $X(\mu(t)) = v$ for $t$ near $s$. The constant field $V \equiv v$ agrees with $X$ along $\mu$ near $s$, so by \ref{lmm:covariant-derivative-along-curve-local} and \ref{lmm:minkowski-levi-civita-flat}, $(\nabla_X X)(\mu(s)) = (\nabla_X V)(\mu(s)) = DV(\mu(s))\,v = 0$. +\end{proof} \begin{definition}[Minkowski Spacetime] \label{def:minkowski-spacetime} @@ -967,7 +1192,6 @@ \subsection{Causal convexity: closure structure} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{definition}[Lorentzian Spacetime] \label{def:lorentzian-spacetime} @@ -979,7 +1203,6 @@ \subsection{Causal convexity: closure structure} \end{definition} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Bundled Spacelike Separation and Basis Openness] \label{lmm:lorentzian-causal-lifts} @@ -995,7 +1218,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[No-Diamond Points Have Only the Whole Space as Neighbourhood] \label{lmm:alexandrov-nbhd-univ-of-no-diamond} @@ -1011,7 +1233,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Covering from the Hausdorff Assumption] \label{lmm:alexandrov-covering-hausdorff} @@ -1027,7 +1248,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[The Alexandrov Diamonds Form a Topological Basis] \label{thrm:alexandrov-topological-basis} @@ -1043,7 +1263,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Past Interpolation on Standard Minkowski] \label{lmm:minkowski-past-between} @@ -1060,7 +1279,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Future Interpolation on Standard Minkowski] \label{lmm:minkowski-future-between} @@ -1077,7 +1295,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Standard Minkowski Diamonds Are Downward-Directed] \label{lmm:minkowski-diamonds-downward-directed} @@ -1094,7 +1311,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Common Chronological Predecessor on Standard Minkowski] \label{lmm:minkowski-exists-common-past} @@ -1110,7 +1326,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Common Chronological Successor on Standard Minkowski] \label{lmm:minkowski-exists-common-future} @@ -1126,7 +1341,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Standard Minkowski Diamonds Are Upward-Directed] \label{lmm:minkowski-diamonds-upward-directed} @@ -1146,7 +1360,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[The Alexandrov Diamonds are a Basis on Standard Minkowski] \label{thrm:minkowski-alexandrov-basis} @@ -1163,7 +1376,6 @@ \subsection{Causal convexity: closure structure} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \subsection{Dilations are causal automorphisms but not isometries} @@ -1183,7 +1395,6 @@ \subsection{Dilations are causal automorphisms but not isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Dilations are Causal Automorphisms] \label{thrm:minkowski-dilation-causal-automorphism} @@ -1199,7 +1410,6 @@ \subsection{Dilations are causal automorphisms but not isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[Dilations are Not Isometries] \label{thrm:minkowski-dilation-not-isometry} @@ -1255,6 +1465,86 @@ \subsection{Isometries and basis-set preservation} Smoothness and non-vanishing of the derivative of $\varphi \circ \mu$ follow from the chain rule (using unique differentials on the parameter space) together with the fact that an isometry's differential is a linear isomorphism. The tangent identity then transports the classification and endpoint conditions. \end{proof} +\begin{lemma}[Pullback of Vector Fields and the Metric Under an Isometry] + \label{lmm:isometry-pullback-metric} + \lean{Physicslib4.Spacetime.Isometry.val_mpullback, Physicslib4.Spacetime.Isometry.mfderiv_mpullback, Physicslib4.Spacetime.CrossIsometry.val_mpullback, Physicslib4.Spacetime.CrossIsometry.mfderiv_mpullback} + \uses{lmm:isometry-preserves-classification} + \leanok + Let $\varphi$ be an isometry of a spacetime $M$, in the sense used throughout this section (\ref{lmm:isometry-preserves-classification}, \ref{lmm:pushforward-path}; the Lean structure \texttt{Physicslib4.Spacetime.Isometry}): a $C^\infty$ diffeomorphism of $M$ with $g_{\varphi(x)}(d\varphi_x v, d\varphi_x w) = g_x(v,w)$ for all $x$ and $v, w \in TM|_x$, where $d\varphi_x$ is the manifold derivative. For a vector field $V$ write $\varphi^* V$ for its pullback, $(\varphi^* V)(x) = (d\varphi_x)^{-1} V(\varphi(x))$ (Mathlib's \texttt{VectorField.mpullback}). Then for every $x \in M$ and all vector fields $V, W$, + \begin{align} + d\varphi_x\big((\varphi^* V)(x)\big) = V(\varphi(x)), \qquad g_x\big((\varphi^* V)(x), (\varphi^* W)(x)\big) = g_{\varphi(x)}\big(V(\varphi(x)), W(\varphi(x))\big). + \end{align} +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:isometry-preserves-classification} + Since $\varphi$ is a diffeomorphism, $d\varphi_x$ is a linear isomorphism, so $d\varphi_x (d\varphi_x)^{-1} V(\varphi(x)) = V(\varphi(x))$ (\texttt{VectorField.mpullback\_apply} and \texttt{ContinuousLinearMap.inverse}). The second identity is the isometry property applied to $v = (\varphi^* V)(x)$, $w = (\varphi^* W)(x)$, rewritten by the first. +\end{proof} + +\begin{lemma}[Derivatives of Metric Pairings of Pulled-Back Fields] + \label{lmm:isometry-pullback-metric-derivative} + \lean{Physicslib4.Spacetime.Isometry.mfderiv_val_mpullback, Physicslib4.Spacetime.CrossIsometry.mfderiv_val_mpullback} + \uses{lmm:isometry-pullback-metric} + \leanok + Let $\varphi$ be an isometry as in \ref{lmm:isometry-pullback-metric}, $x \in M$, and $A, B, C$ vector fields with $B, C$ differentiable at $\varphi(x)$. Then the derivative of $y \mapsto g_y\big((\varphi^* B)(y), (\varphi^* C)(y)\big)$ at $x$ in the direction $(\varphi^* A)(x)$ equals the derivative of $y \mapsto g_y\big(B(y), C(y)\big)$ at $\varphi(x)$ in the direction $A(\varphi(x))$; that is, $(\varphi^*A)\,g(\varphi^*B, \varphi^*C)(x) = A\,g(B,C)(\varphi(x))$. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:isometry-pullback-metric} + By \ref{lmm:isometry-pullback-metric}, $y \mapsto g_y\big((\varphi^* B)(y), (\varphi^* C)(y)\big)$ is the composite $f \circ \varphi$ with $f(z) = g_z(B(z), C(z))$. The chain rule (\texttt{MDifferentiableAt.mfderiv\_comp}) gives derivative $df_{\varphi(x)} \circ d\varphi_x$ at $x$, and applying it to $(\varphi^* A)(x)$ gives $df_{\varphi(x)}(A(\varphi(x)))$ by the first identity of \ref{lmm:isometry-pullback-metric}. +\end{proof} + +\begin{lemma}[Metric Pairings with Lie Brackets of Pulled-Back Fields] + \label{lmm:isometry-pullback-lie-bracket} + \lean{Physicslib4.Spacetime.Isometry.val_mlieBracket_mpullback, Physicslib4.Spacetime.CrossIsometry.val_mlieBracket_mpullback} + \uses{lmm:isometry-pullback-metric} + \leanok + Let $\varphi$ be an isometry as in \ref{lmm:isometry-pullback-metric}, $x \in M$, and $A, B, C$ vector fields with $B, C$ differentiable at $\varphi(x)$. Then + \begin{align} + g_x\big((\varphi^* A)(x), [\varphi^* B, \varphi^* C](x)\big) = g_{\varphi(x)}\big(A(\varphi(x)), [B, C](\varphi(x))\big). + \end{align} +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:isometry-pullback-metric} + The Lie bracket is natural under diffeomorphisms, $[\varphi^* B, \varphi^* C] = \varphi^*[B, C]$ near $x$ (\texttt{VectorField.mpullback\_mlieBracket}), so the left side is $g_x\big((\varphi^* A)(x), (\varphi^*[B,C])(x)\big)$, which equals the right side by the second identity of \ref{lmm:isometry-pullback-metric}. +\end{proof} + +\begin{lemma}[Isometries Preserve the Levi-Civita Connection] + \label{lmm:isometry-preserves-levi-civita} + \lean{Physicslib4.Spacetime.Isometry.mfderiv_leviCivita_mpullback, Physicslib4.Spacetime.CrossIsometry.mfderiv_leviCivita_mpullback} + \uses{def:levi-civita-connection, lmm:isometry-pullback-metric} + \leanok + Let $\varphi$ be an isometry of a spacetime $M$ (as in \ref{lmm:isometry-pullback-metric}) and $\nabla$ the Levi-Civita connection of $g$. Then $\nabla$ is natural under $\varphi$: for every $x \in M$ and all vector fields $A, B$ differentiable at $\varphi(x)$, + \begin{align} + d\varphi_x\big((\nabla_{\varphi^* A}\, \varphi^* B)(x)\big) = (\nabla_A B)(\varphi(x)). + \end{align} + + The same holds for a cross-metric isometry $\Psi : (M, g_1) \to (N, g_2)$ (\ref{def:cross-metric-isometry}): it carries the Levi-Civita connection of $g_1$ to that of $g_2$, and hence geodesics of $g_1$ to geodesics of $g_2$, by the same argument. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:isometry-pullback-metric, lmm:isometry-pullback-metric-derivative, lmm:isometry-pullback-lie-bracket, lmm:koszul-formula, lmm:musical-isomorphism, def:levi-civita-connection} + Let $C$ be any vector field differentiable at $\varphi(x)$. Apply the Koszul formula (\ref{lmm:koszul-formula}) to $\varphi^* A, \varphi^* B, \varphi^* C$ at $x$ and to $A, B, C$ at $\varphi(x)$. The three derivative terms agree by \ref{lmm:isometry-pullback-metric-derivative} and the three bracket terms agree by \ref{lmm:isometry-pullback-lie-bracket} (after symmetry of $g$), so + \begin{align} + g_x\big((\nabla_{\varphi^* A}\varphi^* B)(x), (\varphi^* C)(x)\big) = g_{\varphi(x)}\big((\nabla_A B)(\varphi(x)), C(\varphi(x))\big). + \end{align} + By the isometry property and the first identity of \ref{lmm:isometry-pullback-metric}, the left side is $g_{\varphi(x)}\big(d\varphi_x (\nabla_{\varphi^* A}\varphi^* B)(x), C(\varphi(x))\big)$. Since every tangent vector at $\varphi(x)$ is $C(\varphi(x))$ for some smooth $C$, nondegeneracy of $g_{\varphi(x)}$ (\ref{lmm:musical-isomorphism}) gives the displayed identity. +\end{proof} + +\begin{lemma}[Isometries Preserve Geodesics] + \label{lmm:isometry-preserves-geodesics} + \lean{Physicslib4.Spacetime.Isometry.pushforwardPath_isGeodesic, Physicslib4.lorentzPath_isGeodesic, Physicslib4.Spacetime.CrossIsometry.pushforwardPath_isGeodesic} + \uses{def:geodesic, lmm:pushforward-path} + \leanok + Let $\varphi$ be an isometry of a spacetime $M$ (as in \ref{lmm:isometry-pullback-metric}) and $\mu$ a smooth path. Then $\mu$ is a geodesic if and only if the pushforward path $\varphi \circ \mu$ (\ref{lmm:pushforward-path}) is a geodesic. +\end{lemma} +\begin{proof} + \leanok + \uses{lmm:isometry-preserves-levi-civita, def:geodesic} + Suppose $\mu$ is a geodesic, let $s$ be an interior point of $\Sigma$, and let $X$ be a smooth vector field with $X(\varphi(\mu(t))) = (\varphi\circ\mu)^{\boldsymbol\cdot}(t) = d\varphi\,\dot\mu(t)$ for $t$ near $s$ (\ref{lmm:pushforward-path}). Then $\varphi^* X$ is smooth, and since $d\varphi$ is invertible, $(\varphi^* X)(\mu(t)) = (d\varphi)^{-1} X(\varphi(\mu(t))) = \dot\mu(t)$ for $t$ near $s$; so $\varphi^* X$ extends $\dot\mu$ near $s$ and the geodesic condition for $\mu$ gives $(\nabla_{\varphi^* X}\varphi^* X)(\mu(s)) = 0$. By naturality (\ref{lmm:isometry-preserves-levi-civita}), $(\nabla_X X)(\varphi(\mu(s))) = d\varphi\big((\nabla_{\varphi^* X}\varphi^* X)(\mu(s))\big) = 0$. The converse is the same argument for the isometry $\varphi^{-1}$ and the path $\varphi \circ \mu$. +\end{proof} + \begin{lemma}[Isometries Preserve Chronology] \label{lmm:isometry-preserves-chronology} \lean{Physicslib4.Spacetime.Isometry.PreservesFutureOrientation, Physicslib4.Spacetime.Isometry.preservesFutureOrientation_one, Physicslib4.Spacetime.Isometry.preservesFutureOrientation_mul, Physicslib4.Spacetime.Isometry.pushforwardPath_isFutureOriented, Physicslib4.Spacetime.Isometry.chronologicallyPrecedes_pushforward, Physicslib4.Spacetime.Isometry.chronologicalFuture_image_subset, Physicslib4.Spacetime.Isometry.chronologicalFuture_image, Physicslib4.Spacetime.Isometry.chronologicalPast_image_subset, Physicslib4.Spacetime.Isometry.chronologicalPast_image} @@ -1269,7 +1559,6 @@ \subsection{Isometries and basis-set preservation} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Isometries Preserve Basis Sets] \label{lmm:isometry-preserves-basis-sets} @@ -1285,7 +1574,6 @@ \subsection{Isometries and basis-set preservation} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Axiom 5 Basis-Set Preservation] \label{lmm:axiom5-basis-preservation} @@ -1301,7 +1589,6 @@ \subsection{Isometries and basis-set preservation} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \subsection{Pullback metrics and cross-metric isometries} @@ -1756,7 +2043,6 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Image of the Chronological Future] \label{lmm:cross-metric-chronological-future-image} @@ -1773,7 +2059,6 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Image of the Chronological Past] \label{lmm:cross-metric-chronological-past-image} @@ -1788,7 +2073,6 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[Cross-Metric Isometries Preserve Basis Sets] \label{lmm:cross-metric-isometry-preserves-basis-sets} @@ -1806,7 +2090,6 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{lemma}[A Bijection Matching Generating Families is a Homeomorphism] \label{lmm:bijection-generated-topology-homeomorphism} @@ -1838,7 +2121,6 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. \begin{theorem}[The Pullback of a Lorentzian Spacetime is a Lorentzian Spacetime] \label{thrm:pullback-is-lorentzian-spacetime} @@ -1853,6 +2135,5 @@ \subsection{Pullback metrics and cross-metric isometries} \end{proof} \medskip -\noindent\textit{Formalization note.} This statement rests on the trip-based relations $\ll$ and $\prec$ of \ref{def:trip} and \ref{def:causal-trip}. In the Lean formalization their geodesic clause is a placeholder (\texttt{IsGeodesic} is \texttt{True}), because Mathlib does not yet define the connection needed to define a geodesic; see the remark following \ref{def:causal-trip}. This theorem is what makes ``the net over $\psi^*(M,g)$'' meaningful in \ref{def:general-covariance-in-curved-spacetime}: the axioms of Section \ref{sctn:haag-kastler-axioms-in-curved-spacetime} are indexed by Lorentzian spacetimes, so without it there is no net over the pullback background to compare with. diff --git a/home_page/index.md b/home_page/index.md index 5020289..e5ba372 100644 --- a/home_page/index.md +++ b/home_page/index.md @@ -27,26 +27,26 @@ In 1964, Rudolf Haag and Daniel Kastler introduced a set of axioms for Algebraic ## How the blueprint is organised -The blueprint is 321 pages long and splits cleanly in two. +The blueprint is 322 pages long and splits cleanly in two. **Chapters 1–9 are mathematical background and are not formalised in Lean.** They motivate and analyse each of the original Haag–Kastler axioms in turn, and then generalise them to curved spacetime. Along the way they cite twelve supporting results, numbered 1 through 12 — Gelfand–Naimark, the Bounded Linear Transformation Theorem, the existence of a Lorentz metric, and so on. These are quoted from the literature where needed; none of them carries a Lean declaration. -**Chapter 10 collects the formalisation-ready content, and it is the content of Chapter 10 that is formalised in Lean.** Its items are numbered consecutively, running from Definition 13 through Definition 588, and comprise **573 declarations in total: 139 definitions, 152 theorems, 181 lemmas, 97 propositions, and 4 corollaries**, mapped onto **1,016 distinct Lean declarations** (where Mathlib already supplies a result, the blueprint names the Mathlib declaration directly). Three further numbered items — Conventions 22, 210 and 257, standing hypotheses of the two spectral-theory sections — share the numbering but are conventions rather than declarations, and are not counted. Chapter 10 is divided into seven top-level sections, §10.1 through §10.7. +**Chapter 10 collects the formalisation-ready content, and it is the content of Chapter 10 that is formalised in Lean.** Its items are numbered consecutively, running from Definition 13 through Definition 612, and comprise **597 declarations in total: 143 definitions, 153 theorems, 200 lemmas, 97 propositions, and 4 corollaries**, mapped onto **1,058 distinct Lean declarations** (where Mathlib already supplies a result, the blueprint names the Mathlib declaration directly). Three further numbered items — Conventions 22, 210 and 257, standing hypotheses of the two spectral-theory sections — share the numbering but are conventions rather than declarations, and are not counted. Chapter 10 is divided into seven top-level sections, §10.1 through §10.7. -**572 of the 573 are formalised, statements and proofs alike.** Of the 434 theorems, lemmas, propositions and corollaries in Chapter 10, 398 carry a written proof in the blueprint; the other 36, all in §10.2 and §10.3, are standard results quoted from the literature (Heine–Borel, Stone–Weierstrass, dominated convergence and the like) that the blueprint states in full but deliberately does not prove. 433 of the 434 proofs are formalised in Lean, including all 36 of the quoted results. The single exception, in both counts, is Theorem 424, whose statement is formalised but whose proof is not; it is discussed under [Formalisation status](#formalisation-status) below. +**595 of the 597 are formalised, statements and proofs alike.** Of the 454 theorems, lemmas, propositions and corollaries in Chapter 10, 418 carry a written proof in the blueprint; the other 36, all in §10.2 and §10.3, are standard results quoted from the literature (Heine–Borel, Stone–Weierstrass, dominated convergence and the like) that the blueprint states in full but deliberately does not prove. 452 of the 454 proofs are formalised in Lean, including all 36 of the quoted results. The two exceptions, in both counts, are Theorem 448, whose statement is formalised but whose proof is not, and Lemma 311, which is not yet formalised at all; both are discussed under [Formalisation status](#formalisation-status) below. -At a glance, the 573 declarations break down by top-level section as follows: +At a glance, the 597 declarations break down by top-level section as follows: | Section | Topic | Pages | Definitions | Theorems | Lemmas | Propositions | Corollaries | Total | Formalised | |---|---|---|---|---|---|---|---|---|---| | §10.1 | GNS Construction | 29–38 | 2 | 1 | 3 | 0 | 0 | 6 | 6 | | §10.2 | Spectral Theorems (bounded) | 38–155 | 25 | 24 | 27 | 67 | 1 | 144 | 144 | | §10.3 | Unbounded Spectral Theorems | 155–233 | 24 | 13 | 47 | 30 | 3 | 117 | 117 | -| §10.4 | Spacetime and causal structure | 233–269 | 30 | 16 | 67 | 0 | 0 | 113 | 113 | -| §10.5 | Haag–Kastler Axioms (Minkowski) | 269–307 | 39 | 69 | 34 | 0 | 0 | 142 | 141 | -| §10.6 | Haag–Kastler Axioms (curved spacetime) | 307–317 | 17 | 29 | 3 | 0 | 0 | 49 | 49 | -| §10.7 | General Covariance | 317–318 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | -| **Total** | | | **139** | **152** | **181** | **97** | **4** | **573** | **572** | +| §10.4 | Spacetime and causal structure | 233–270 | 34 | 17 | 86 | 0 | 0 | 137 | 136 | +| §10.5 | Haag–Kastler Axioms (Minkowski) | 270–308 | 39 | 69 | 34 | 0 | 0 | 142 | 141 | +| §10.6 | Haag–Kastler Axioms (curved spacetime) | 308–318 | 17 | 29 | 3 | 0 | 0 | 49 | 49 | +| §10.7 | General Covariance | 318–320 | 2 | 0 | 0 | 0 | 0 | 2 | 2 | +| **Total** | | | **143** | **153** | **200** | **97** | **4** | **597** | **595** | ### Where the Lean lives @@ -57,23 +57,23 @@ Each blueprint section maps onto a compact set of Lean modules, which is the fas | §10.1 | `Physicslib4/GNS/` (`Basic`, `Construction`, `NullSpace`, `CauchySchwarz`) | | §10.2 | `Physicslib4/Spectral/` (`Basic`, `Spectrum`, `Forms`, `ProjectionValuedMeasure`, `OperatorIntegral`, `ContinuousCalculus`, `BorelClasses`, `BorelCalculus`, `SpectralTheorem`) | | §10.3 | `Physicslib4/Spectral/Unbounded/` (`Basic`, `Spectrum`, `DirectSum`, `Integral`, `Normal`, `AbstractCalculus`, `Cayley`) | -| §10.4 | `Physicslib4/Spacetime/` (`Causality`, `Curves`, `CausalComplement`, `CausalStructure`, `Minkowski`, `MinkowskiDirected`, `LorentzianSpacetime`, `IsometryCausality`, …) | +| §10.4 | `Physicslib4/Geometry/PseudoRiemannian/` (`Basic`, `LeviCivita`, `Flat`), `Physicslib4/Spacetime/` (`Causality`, `Curves`, `AlongPath`, `CausalComplement`, `CausalStructure`, `Minkowski`, `MinkowskiDirected`, `LorentzianSpacetime`, `IsometryCausality`, …) | | §10.5 | `Physicslib4/AQFT/HaagKastler/`, `Physicslib4/GNS/` (`Irreducibility`, `Superselection`, `RadonNikodym`, `ExtremeState`, …), `Physicslib4/AQFT/KMS.lean`, `Physicslib4/Analysis/StripPeriodicExtension.lean` | | §10.6 | `Physicslib4/AQFT/HaagKastlerCurved/` (`LocalVonNeumann`, `StabilizerAction`, `StabilizerKMS`, `Purity`, `GeometricCovariance`, …) | | §10.7 | `Physicslib4/AQFT/HaagKastlerCurved/GeneralCovariance.lean` | ### Formalisation status -The blueprint annotates every node with the Lean declarations that realise it, so the status of each node is a matter of record rather than of estimate. There is exactly one node in Chapter 10 that is not fully formalised, and two further places where the Lean is deliberately weaker or differently shaped than the prose. All three are flagged in the blueprint text itself; they are collected here so that they are not discovered by surprise. +The blueprint annotates every node with the Lean declarations that realise it, so the status of each node is a matter of record rather than of estimate. There are exactly two nodes in Chapter 10 that are not fully formalised, and one further place where the Lean is deliberately differently shaped than the prose. All three are flagged in the blueprint text itself; they are collected here so that they are not discovered by surprise. -**Not fully formalised (one node).** +**Not fully formalised (two nodes).** -- **Theorem 424, "Quasilocal Observables are Strongly Dense in the Bicommutant."** This is the von Neumann density theorem, which Mathlib does not have. The node sits in §10.5.1 (p. 286). Its statement is formalised as `Physicslib4.AQFT.HaagKastler.dense_range_in_bicommutant` (in `Physicslib4/AQFT/HaagKastler/StrongDensity.lean`), but the proof is a deliberate `sorry`, and the blueprint leaves the node as a stated result of the literature, not decomposed further. The Lean docstring records this in a **Restriction:** note: the intended form is the same statement with a proof, which is waiting on von Neumann's bicommutant theorem in the strong operator topology, either in Mathlib or as a local development. Nothing else in the project depends on it. The blueprint records exactly what is missing, because it is easy to get wrong: the strong operator topology itself *is* in Mathlib, as `PointwiseConvergenceCLM` (with the weak operator topology as `ContinuousLinearMapWOT`), so the statement is phraseable today. What is absent is the density theorem, and with it Kaplansky. Supplying it — the interaction of the strong topology with commutants — is a development of its own. +- **Theorem 448, "Quasilocal Observables are Strongly Dense in the Bicommutant."** This is the von Neumann density theorem, which Mathlib does not have. The node sits in §10.5.1 (p. 287). Its statement is formalised as `Physicslib4.AQFT.HaagKastler.dense_range_in_bicommutant` (in `Physicslib4/AQFT/HaagKastler/StrongDensity.lean`), but the proof is a deliberate `sorry`, and the blueprint leaves the node as a stated result of the literature, not decomposed further. The Lean docstring records this in a **Restriction:** note: the intended form is the same statement with a proof, which is waiting on von Neumann's bicommutant theorem in the strong operator topology, either in Mathlib or as a local development. Nothing else in the project depends on it. The blueprint records exactly what is missing, because it is easy to get wrong: the strong operator topology itself *is* in Mathlib, as `PointwiseConvergenceCLM` (with the weak operator topology as `ContinuousLinearMapWOT`), so the statement is phraseable today. What is absent is the density theorem, and with it Kaplansky. Supplying it — the interaction of the strong topology with commutants — is a development of its own. +- **Lemma 311, "Smoothness of the Inverse Musical Isomorphism."** The node sits in §10.4 (p. 239), in the pseudo-Riemannian layer that precedes the definition of geodesics. It states that the pointwise inverse $$x \mapsto \flat_x^{-1}$$ of the musical isomorphism (Lemma 310) is a smooth section of $$\mathrm{Hom}(T^*M, TM)$$, and the blueprint gives a written proof (in a local trivialisation, inversion of continuous linear equivalences is smooth). It carries no Lean declaration yet. No other node depends on it: the existence and uniqueness of the Levi-Civita connection are formalised without it. -**Formalised, but the Lean is weaker than the prose (two places).** Both nodes below carry Lean declarations and formalised proofs; the caveat is one of fidelity, not of coverage. +**Formalised, but the Lean is shaped differently from the prose (one place).** The node below carries Lean declarations and a formalised proof; the caveat is one of presentation, not of coverage or content. -- **The geodesic clause of a trip (Definitions 307–308).** In Lean, `Physicslib4.Spacetime.IsGeodesic` is defined to be `True`, so it imposes no constraint. A faithful geodesic condition needs the Levi-Civita connection of the metric — auto-parallelism of the tangent vector along the curve — which the pinned version of Mathlib does not provide. The formalised (causal) trip segments are therefore future-oriented timelike (respectively causal) curves with the correct past and future endpoints: the endpoint, timelike/causal, and future-orientation content is faithful, and only the geodesic property is unenforced. The Lean docstring of `IsGeodesic` records this as a **Restriction:** note (the intended form is auto-parallelism for the Levi-Civita connection, waiting on Mathlib defining affine connections), and the blueprint now carries a short *Formalization note* on each of the 57 §10.4 results that rest on the trip-based relations $$\ll$$ and $$\prec$$. This is the one place where the blueprint and the Lean diverge on content. -- **Axiom 5 in curved spacetime (Definition 543).** "Isometries connected to the identity" and "identity-component isometries preserving the future orientation" describe the same group, but the inclusion of the former in the latter rests on a Myers–Steenrod-type rigidity result not yet in Mathlib. The Lean therefore intersects the identity component with the explicitly orientation-preserving subgroup. This is an implementation choice and does not alter the mathematical content of the axiom. +- **Axiom 5 in curved spacetime (Definition 567).** "Isometries connected to the identity" and "identity-component isometries preserving the future orientation" describe the same group, but the inclusion of the former in the latter rests on a Myers–Steenrod-type rigidity result not yet in Mathlib. The Lean therefore intersects the identity component with the explicitly orientation-preserving subgroup. This is an implementation choice and does not alter the mathematical content of the axiom. If you'd like to contribute, you may find the following links useful: @@ -101,7 +101,7 @@ Chapters 1–9 unpack and analyse the original Haag–Kastler axioms one by one: ### Chapter 10: the formalisation-ready content -Chapter 10 restates the axioms in a form amenable to auto-formalisation and proves everything they depend on. Its seven top-level sections are described below in order; the complete, itemised list of all 573 numbered declarations follows in [What is Being Formalised](#what-is-being-formalised). +Chapter 10 restates the axioms in a form amenable to auto-formalisation and proves everything they depend on. Its seven top-level sections are described below in order; the complete, itemised list of all 597 numbered declarations follows in [What is Being Formalised](#what-is-being-formalised). - **§10.1 GNS Construction Details (pp. 29–38).** States and proves the GNS Construction Theorem (Theorem 15) in full detail—construction of the GNS Hilbert space, the \*-representation, the cyclic vector, faithfulness of the representation for a faithful state, and uniqueness up to unitary equivalence—since both the theorem and specific steps of its proof are used in the axioms that follow. The two supporting objects are the state (Definition 13) and the cyclic vector (Definition 14); the auxiliary results are the Cauchy–Schwarz inequality for positive functionals (Lemma 16) and the two equivalent descriptions of the GNS left ideal $$\mathcal{N}$$, which is shown to be a closed linear subspace (Lemmas 17–18). §10.1.3 is a prose summary and carries no numbered items. @@ -120,45 +120,47 @@ Chapter 10 restates the axioms in a form amenable to auto-formalisation and prov - *From a continuous functional calculus to a projection-valued measure (p. 212, items 257–271).* Under standing hypotheses (Convention 257), an abstract continuous functional calculus (Definition 258) is extended, through its associated measures (Definition 260), to bounded measurable functions (Definition 263). The extension is linear, multiplicative and compatible with conjugation (Lemmas 264 and 268, Proposition 267), and it yields a projection-valued measure (Theorem 269). Combined with the previous stage, this gives the Spectral Theorem for Bounded Normal Operators (Theorem 271). - *The Cayley transform and the unbounded spectral theorem (pp. 221–230, items 272–282).* Unitary operators are normal, with spectrum on the unit circle (Lemmas 272–273). The Cayley map (Lemma 274) and the Cayley transform of a self-adjoint operator (Theorem 275), with its spectral mapping (Lemma 276), reduce the unbounded self-adjoint case to the bounded normal one: a projection-valued measure is transported along a Borel bijection (Lemma 278), the Cayley transform omits the point $$1$$ (Lemma 279), and the spectral measure is transported through the Cayley transform (Theorem 281). The result is the Spectral Theorem for Unbounded, Self-Adjoint Operators (Theorem 282). -- **§10.4 Spacetime (pp. 233–269).** 113 items (Definitions 283–395), building the entire causal and topological apparatus the axioms are indexed on. Everything built on the chronological and causal relations $$\ll$$ and $$\prec$$ rests on the `IsGeodesic` placeholder, recorded in Lean as a **Restriction:** and flagged in the blueprint by a formalization note on each of the 57 dependent results (see [Formalisation status](#formalisation-status)). It proceeds in seven layers. - - *Spacetime, tangent-vector causality, curves, and trips (pp. 233–240, items 283–315).* Gives precise definitions of spacetime (Definition 283) and standard Minkowski spacetime (Definition 284); classifies tangent vectors as timelike, spacelike, or null (Definition 285) and proves the trichotomy (Lemma 286), the reverse Cauchy–Schwarz and reverse triangle inequalities for timelike vectors (Lemmas 287–288), and the cone geometry—orientation of pointing vectors, the sign lemma, definiteness of the spacelike complement of a timelike vector, and convexity of the cones (Lemmas 291–294)—alongside time orientations (Definition 289) and future- and past-pointing vectors (Definition 290). Then paths, curves, and oriented curves are defined as equivalence classes of paths up to reparametrisation (Definitions 295–300), with causal type and future/past orientation each shown well-defined on the quotient (Theorems 299 and 301) and a forgetful projection from oriented to unoriented curves (Theorem 302). Endpoints (Definition 303), shown to be well defined on curves and smooth curves (Lemma 304), come with two point-set lemmas—an extremal parameter lies in the frontier, and two endpoints force a compact parameter interval (Lemmas 305–306)—followed by trips and causal trips (Definitions 307–308, subject to the geodesic-placeholder caveat under [Formalisation status](#formalisation-status)), transitivity of chronological and causal precedence (Theorem 309), the causality condition (Definition 310) and the resulting strict partial order (Theorem 311), chronological and causal futures and pasts (Definitions 312–313), and their basic inclusion and monotonicity properties (Lemmas 314–315). - - *§10.4.1 Causal diamonds (p. 240, items 316–330).* Introduces the causal diamond $$J^+(p) \cap J^-(q)$$ and the chronological (Alexandrov) diamond $$I^+(p) \cap I^-(q)$$ (Definition 316), with the structural properties of the causal diamond—monotonicity under endpoint spread, causal convexity, and that nonemptiness forces $$p \prec q$$ (Lemma 317)—and the containment of chronological diamonds in causal ones, together with the identification of the Alexandrov basis as exactly the chronological diamonds (Theorem 318). It then develops spacelike separation of points and of regions (Definitions 319–320, Lemmas 321–322), the spacelike complement $$\mathbf{B}^\perp$$ (Definition 323) and its order structure—antitone, extensive on the double complement, with the triple complement collapsing, making complementation the Galois connection attached to the spacelike-separation relation (Lemma 324). The double complement is packaged as the causal closure operator (Definition 325, Lemma 326), whose fixed points are the causally complete regions (Definition 327). These form a complete lattice—meets are intersections, joins are causal closures of unions—on which the causal complement is an order-reversing involution (Theorem 328); the set-level De Morgan laws (Lemma 329) then lift to full binary and infinitary De Morgan laws on the lattice (Theorem 330). The blueprint is careful to record what does *not* hold: the full orthocomplement law $$\mathbf{B} \wedge \mathbf{B}^\perp = \bot$$ fails at this generality, because the trip-based causal relation is irreflexive and so a point is spacelike-separated from itself. - - *§10.4.2 Causal convexity (p. 246, items 331–333).* Defines a causally convex region as one containing every point causally between two of its own points (Definition 331), shows causal diamonds are causally convex (Lemma 332), and shows every spacelike complement—hence every causally complete region—is causally convex (Theorem 333). - - *§10.4.3 Causal convexity: closure structure, and the Alexandrov basis theorems (p. 247, items 334–354).* The causally convex regions are shown to form a closure system (Lemma 334), giving the causal-convex hull (Definition 335) as a genuine closure operator whose closed sets are exactly the causally convex regions (Lemmas 336, Theorem 337). The subsection then turns to the Alexandrov topology (Definition 338): every diamond is open (Lemma 339); chronological futures and pasts are open under an explicit "no endpoints" hypothesis (Lemma 340) and unconditionally on standard Minkowski spacetime, where the coordinate-cone description discharges the hypothesis (Lemma 341). Minkowski spacetime and Lorentzian spacetime are then defined (Definitions 342–343, the latter as a spacetime whose Alexandrov topology is Hausdorff), with a bundled form of spacelike separation and basis openness (Lemma 344). A point lying in no diamond is pathological: its only Alexandrov neighbourhood is the whole space (Lemma 345), and the Hausdorff assumption rules this out, forcing the diamonds to cover the space (Lemma 346). Given downward-directedness the diamonds form a genuine topological basis (Theorem 347); past and future interpolation on standard Minkowski (Lemmas 348–349) supply downward-directedness there (Lemma 350), and common chronological predecessors and successors supply upward-directedness (Lemmas 351–353), so on standard Minkowski the diamonds are an unconditional basis (Theorem 354). Upward-directedness is what the quasilocal colimit of §10.5.1 later consumes. - - *§10.4.4 Dilations are causal automorphisms but not isometries (p. 254, items 355–357).* The dilations $$x \mapsto \lambda x$$ preserve the Minkowski cones (Lemma 355) and are therefore causal automorphisms (Theorem 356), yet scale the metric by $$\lambda^2$$ and so are not isometries for $$\lambda \neq 1$$ (Theorem 357). This is the counterexample that forces the general-covariance morphism of §10.7 to be specified geometrically rather than causally. - - *§10.4.5 Isometries and basis-set preservation (p. 255, items 358–363).* Single-metric transport: isometries preserve the causal classification of tangent vectors (Lemma 358), paths have unique differentials and well-defined pushforwards (Lemmas 359–360), future-orientation-preserving isometries preserve chronology (Lemma 361) and map Alexandrov-basis diamonds to diamonds (Lemma 362), which is exactly the well-definedness condition for the Axiom 5 action (Lemma 363). - - *§10.4.6 Pullback metrics and cross-metric isometries (p. 256, items 364–395).* The single-metric lemmas above compare a spacetime with itself; general covariance instead compares two different metrics on one carrier, so the transport statements are redone cross-metric. This subsection defines the pullback $$\psi^* g$$ of a spacetime metric as a bundled family of continuous bilinear forms (Definition 364) and verifies every obligation in turn: the differential of a diffeomorphism is a linear equivalence (Lemma 365), with the two round-trip cancellation identities that Mathlib does not supply for a global `Diffeomorph` proved by hand (Lemmas 366–368); the pullback metric is symmetric, non-degenerate, Lorentzian, and a smooth section of the bilinear-form bundle (Lemmas 369–372), so the pullback of a spacetime is a spacetime (Theorem 373). Two-sided preservation of future orientation is then defined (Definition 374) and the pullback time orientation is shown to be bundle-smooth, nowhere vanishing, and everywhere timelike (Lemmas 375–378), with transport of future-pointing timelike and null vectors (Lemmas 379–380) giving two-sided orientation preservation (Lemma 381). Cross-metric isometries are defined (Definition 382) and shown closed under inverses (Lemma 383), to preserve causal classification (Lemma 384), to push paths forward preserving the timelike/causal conditions and endpoints (Lemmas 385–388), and to transport chronological precedence and the chronological future and past (Lemmas 389–391), hence to preserve Alexandrov-basis sets (Lemma 392). A general topological lemma—a bijection matching generating families is a homeomorphism (Lemma 393)—then identifies the pullback Alexandrov topology (Lemma 394) and yields that the pullback of a Lorentzian spacetime is again a Lorentzian spacetime (Theorem 395). Without Theorem 395 the phrase "the net over $$\psi^*(M,g)$$" in §10.7 would have no referent. - -- **§10.5 Haag–Kastler Axioms in Minkowski spacetime (pp. 269–307).** The largest section by definition and theorem count (142 items, Definitions 396–537). Each axiom is stated as a definition so that it appears as a node in the declaration graph. - - *The axioms and the quasilocal colimit (§10.5 and §10.5.1, pp. 269–288, items 396–426).* Axiom 1 (Local Algebras, Definition 396) assigns an abstract C\*-algebra to every Alexandrov-basis set, with $$\emptyset \mapsto \mathbb{C}1$$. Axiom 2 (Isotony, Definition 397) now supplies the family of unital \*-monomorphisms $$i_{\mathbf{B}_1 \mathbf{B}_2}$$ **as chosen data**, subject to injectivity, an identity law, and a composition law—so that $$\mathbf{B} \mapsto \mathfrak{U}(\mathbf{B})$$ is a functor on the inclusion order of basis sets. The blueprint is explicit that the family cannot be an existence statement (the identity and composition conditions are equations between the maps themselves) and that the inclusion hypothesis is non-strict, matching the Lean. §10.5.1 then cashes this in: the diamonds are directed under inclusion (Lemma 398), the isotony family is a directed system in Mathlib's sense (Lemma 399), and the direct limit carries a well-defined norm (Lemmas 400–402) making it a normed \*-algebra (Lemma 403) satisfying the C\*-inequality (Lemma 404) but not, in general, complete. A block of results stated for an arbitrary normed \*-algebra under standing hypotheses (Definition 405) then carries the structure through completion—the involution and its extension (Definition 406, Lemma 407), the completion coercion as a bundled \*-algebra homomorphism (Lemma 408), and the passage of the C\*-inequality, the normed $$\mathbb{C}$$-algebra structure, and finally the C\*-algebra property to the completion (Lemmas 409–411)—yielding that the completion of the quasilocal colimit is a C\*-algebra (Lemma 412). The quasilocal algebra $$\mathfrak{U}$$ is defined as that colimit-then-completion (Definition 413); the blueprint records why the shortcut of realising $$\mathfrak{U}$$ as a closed \*-subalgebra of an ambient C\*-algebra is rejected—it would assume an ambient algebra containing copies of every $$\mathfrak{U}(\mathbf{B})$$, for which the physics supplies no justification. Axiom 3 (Local Commutativity, Definition 414) follows, together with the new Lemma 415: local commutativity transfers from any one quasilocal algebra to every other, so the choice of quasilocal algebra in Axiom 3 is immaterial and the canonical $$\mathfrak{U}$$ of a net can be used throughout. The quasilocal observable (Definition 416) follows. **Axiom 4 is now split in two.** Axiom 4 (Quasilocal Completeness, Definition 417) is presented as a bridge principle—the one axiom joining physical reality to the formalism, asserting the one-way inclusion that every physical observable corresponds to a quasilocal observable, and therefore having no mathematical consumers. The mathematical content previously conflated with it is separated out as a theorem: every local net satisfying Axiom 2 admits a quasilocal algebra, with an injective cocone of canonical embeddings whose images are dense (Theorem 418, with the supporting Lemmas 419–423). The indexing over Alexandrov-basis sets only is essential and not stylistic, since the algebras attached to non-basis subsets are junk fibres about which the axioms say nothing. Theorem 424 is the density result that keeps the bridge principle tenable in the presence of larger bicommutants, and is the one node whose proof is deliberately left unformalised (its statement is formalised). Axiom 5 (Lorentz Covariance, Definition 425), whose coherence condition is now stated for the Axiom 2 isotony family itself, and the bundled `HaagKastlerNet` (Definition 426) close the block. - - *§10.5.2 Einstein Causality (p. 288, item 427).* Derives the operator form of local commutativity in any \*-representation of the quasilocal algebra (Theorem 427). - - *§10.5.3 Local von Neumann Algebras (p. 288, items 428–440).* Defines the local von Neumann algebra $$R(\mathbf{B}) = \pi(\mathfrak{U}(\mathbf{B}))''$$ of a region in a representation (Definition 428), registers it as a first-class `VonNeumannAlgebra` via the bicommutant-of-a-self-adjoint-set lemma (Lemma 429, Definition 430), and proves Microcausality (Theorem 431) and Isotony of the von Neumann net (Theorem 432), together with their bundled forms (Theorem 433) and the region-indexed assignment $$\mathbf{B} \mapsto R(\mathbf{B})$$ as an order-preserving map—the net of von Neumann algebras itself (Definition 434). It then proves the Statistical Independence (Schlieder) property in set-level and bundled forms (Theorems 435–436): if the cyclic vector of one region is cyclic for its local observables, it is separating for the local von Neumann algebra of any spacelike-separated region. Additive-free locality (Theorem 437) expresses locality through the spacelike complement without attaching an algebra to the unbounded complement itself. Geometric Covariance (Theorem 438) shows conjugation by the implementing unitary carries $$R(\mathbf{B})$$ onto $$R(L \cdot \mathbf{B})$$; being a factor is therefore constant along the Lorentz orbit of a region (Theorem 439), and the set equality upgrades to a first-class \*-algebra isomorphism of the bundled algebras (Theorem 440). - - *§10.5.4 Relative Commutants of Nested Local Algebras (p. 291, items 441–448).* A new block organising the theory of inclusions $$R(\mathbf{B}_1) \subseteq R(\mathbf{B}_2)$$ around the relative commutant $$R(\mathbf{B}_1)' \cap R(\mathbf{B}_2)$$ (Definition 441). It proves antitonicity of the commutant (Theorem 442), that the relative commutant lies in the larger algebra and commutes with the smaller (Theorems 443–444), and that it always contains the centre of the ambient algebra (Theorem 445). An inclusion is irreducible when its relative commutant is trivial (Definition 446); an irreducible inclusion forces the ambient algebra to be a factor (Theorem 447), and the trivial self-inclusion is irreducible exactly when the algebra is a factor (Theorem 448). - - *§10.5.5 Irreducibility and Schur's Lemma (p. 292, items 449–471).* Introduces irreducible representations via their commutant (Definition 449) and establishes the Topological Schur Lemma for cyclic representations (Theorem 450) together with the operator-theoretic bridge identifying commutant scalars with coefficients proportional to the state (Theorem 451). Defines pure states (Definition 452) and proves "pure implies irreducible" directly (Theorem 453), then the full equivalence Pure $$\iff$$ Irreducible (Theorem 456) via a GNS Radon–Nikodym theorem realising every dominated positive functional as an operator in the commutant (Theorems 454–455). An irreducible representation generates a factor (Theorem 457) and, more sharply, all of $$\mathcal{B}(H)$$ (Theorem 458), with a bundled density form (Theorem 459); consequently the GNS representation of a pure state generates a factor (Theorem 460) and all of $$\mathcal{B}(H)$$ (Theorem 461). The norm of a positive linear functional on a unital C\*-algebra equals its value on the unit (Theorem 462), which supports Pure $$\iff$$ Extreme Point of the state space (Definition 463, Theorem 464), the underlying convexity and the bridge to Mathlib's extreme-points API (Theorem 465), and weak-\* compactness of the state space (Theorem 469), which supplies the existence of pure states via Krein–Milman. The pullback of a state along a unital \*-homomorphism is introduced as its own object (Definition 466) with functoriality (Theorem 467) and the invariance of purity under a \*-isomorphism (Theorem 468). The section closes by specialising to the quasilocal algebra (Theorems 470–471). - - *§10.5.6 Unitary Equivalence and Superselection (p. 296, items 472–473).* Defines unitary equivalence of representations (Definition 472) and shows irreducibility and factoriality are unitary invariants, transported by the cross-space conjugation induced by the implementing unitary (Theorem 473). - - *§10.5.7 GNS Covariance (p. 296, items 474–479).* A new block. Cyclicity pulls back along a surjective \*-homomorphism (Lemma 474), so GNS data transports covariantly along a \*-isomorphism of the algebras (Theorem 475), restated as a unitary equivalence (Theorem 476). Pullback along a surjection preserves the image algebra (Lemma 477), whence superselection type transports along a \*-isomorphism (Theorem 478): the whole sector structure is an invariant of the algebra, not of its presentation. Applied to the covariance equivalence $$\alpha_L : \mathfrak{U}(\mathbf{B}) \simeq \mathfrak{U}(L \cdot \mathbf{B})$$ supplied by Axiom 5, this says the superselection type of a local state is constant along the Lorentz orbit of its region (Theorem 479). - - *§10.5.8 Disjointness and Quasi-Equivalence (p. 298, items 480–497).* Defines disjointness via the vanishing of all intertwiners (Definition 480) and the coarser quasi-equivalence via a \*-isomorphism of generated von Neumann algebras (Definition 481). Proves Schur's Lemma in the form of the Irreducible Dichotomy—two irreducible representations are either disjoint or unitarily equivalent (Theorem 482)—together with Schur multiplicity (Lemma 483) and the triviality of the endomorphism algebra of an irreducible representation (Lemma 484). The commutant is packaged as the self-intertwiner (gauge) von Neumann algebra, trivial exactly when the representation is irreducible (Theorem 485), with double-commutant duality (Theorem 486) and the factor/triviality duality between an algebra and its commutant (Theorem 487). A supporting run develops the centre from scratch: abelian $$\iff$$ self-commuting (Lemma 488), the centre $$Z(R) = R \cap R'$$ (Definition 489) and its being a von Neumann algebra (Lemma 490), the general two-algebra intersection lemma that the relative commutants of §10.5.4 need (Lemma 491), the centre is abelian (Theorem 492), $$R$$ is abelian iff it equals its centre (Lemma 493), a factor is abelian iff it is the scalars (Theorem 494), an algebra and its commutant share a centre (Theorem 495), and factoriality is triviality of the centre (Theorem 496). The Pure-State Dichotomy underlying superselection sectors (Theorem 497) closes the block. - - *§10.5.9 Direct Sums, Amplification, and Reducibility (p. 301, items 498–501).* Defines the direct-sum representation on the $$\ell^2$$-direct sum (Definition 498), shows each summand embeds as a subrepresentation whose projection lies in the commutant of the sum (Theorem 499), defines the $$\iota$$-fold amplification (Definition 500), and proves a direct sum with at least two nonzero summands is reducible, so a multiply-amplified representation is never irreducible (Theorem 501). - - *§10.5.10 Covariant States and the Covariance Action (p. 301, items 502–521).* Defines covariant families of local states (Definition 502) with their composition law (Lemma 503), and the lift of the fibrewise covariance action to a \*-automorphism of the quasilocal algebra (Definition 504), with uniqueness (Lemma 505) and existence for every quasilocal algebra (Theorem 507), no covariance-compatibility hypothesis being needed because every quasilocal algebra is automatically covariance-compatible (Lemma 506, new), and the trivial net as a special case (Theorem 508). The covariant quasilocal algebra of a net is then simply its canonical quasilocal algebra together with the covariance action (Definition 509, realised in Lean as `HaagKastlerNet.action`, so the covariance dynamics are stated directly for the net), which is a genuine group action (Lemma 510). Invariant states are defined (Definition 511) and shown to be implemented by GNS unitaries (Theorem 512); a state that is both invariant and pure yields a GNS representation that is simultaneously covariant and irreducible (Theorem 513). A "bounded-generator" scaffold toward the spectrum condition follows, deliberately sidestepping Stone's theorem and unbounded self-adjoint operators (the Lean records this bounded-generator restriction in **Restriction:** notes): positive energy for a bounded generator (Definition 514) with its API (Theorem 515), a generator-parameterised vacuum state (Definition 516) and its Stone-free consequences (Theorem 517), the future-timelike translation subgroup (Definition 518), and the vacuum state with that concrete predicate substituted in, leaving no free parameter (Definition 519). Purity is preserved by any \*-automorphism and is therefore covariance-invariant (Theorem 520), and GNS data transports along the quasilocal covariance action (Theorem 521). - - *§10.5.11 The Separating Vector of a Faithful State (p. 304, item 522).* The cyclic vector of a faithful state is also separating for the image of the representation (Theorem 522)—the basic datum of Tomita–Takesaki modular theory. This holds in any representation reproducing a faithful state, not only the canonical GNS one. - - *§10.5.12 The KMS Condition and Thermal Equilibrium (p. 305, items 523–532).* Introduces one-parameter automorphism groups (Definition 523) and KMS states (Definition 524) as the algebraic characterisation of thermal equilibrium. The condition is phrased purely as an analyticity statement about correlation functions, so—unlike the spectrum condition—it needs no unbounded-operator theory. The KMS state set is convex (Theorem 525); a boundary-coincidence argument at $$a = 1$$ (Lemma 526) together with the Strip-Liouville Principle (Definition 527), proved at positive inverse temperature via an $$i\beta$$-periodic entire extension (Theorem 528) and Liouville's theorem (Theorem 529), yields that KMS states are automatically invariant under the time evolution (Theorem 530); uniqueness on the strip from boundary values (Theorem 531) gives uniqueness of the analytic completion of a KMS correlation function (Theorem 532). - - *§10.5.13 KMS States for the Covariance Flow (p. 306, items 533–537).* A one-parameter subgroup of the inhomogeneous Lorentz group induces a one-parameter automorphism group on the quasilocal algebra via the covariance lift (Definition 533, Lemma 534); KMS states for that flow are defined accordingly (Definition 535) and shown convex (Theorem 536). The zero-temperature ($$\beta \to \infty$$) counterpart—a ground state for a covariance flow, whose GNS-implementing unitary group has positive energy—is recorded alongside it (Definition 537). - -- **§10.6 Haag–Kastler Axioms in Curved Spacetime (pp. 307–317).** 49 items, Definitions 538–586. The axioms are restated for a Lorentzian spacetime: Local Algebras (Definition 538), Isotony (Definition 539, again supplying the family as chosen data with identity and composition laws), Local Commutativity (Definition 540, which now **consumes** the Axiom 2 family rather than choosing its own witnesses), local observables (Definition 541), Local Completeness (Definition 542), and Isometric Covariance (Definition 543, whose coherence condition, as in Minkowski, is stated for the Axiom 2 isotony family), bundled into a `HaagKastlerNet` in curved spacetime (Definition 544). The change to Axioms 2 and 3 has a visible consequence downstream: statements about nested regions have to factor a three-fold inclusion $$\mathbf{B}_1 \subseteq \mathbf{B}_2 \subseteq \mathbf{B}$$ inside a common containing algebra, and that factorisation is now the composition law of Axiom 2, so **the coherence hypotheses that earlier versions carried at each such site are gone**—curved isotony (Theorem 549) and the curved von Neumann net (Definition 551) are unconditional. An explicit hypothesis remains only where the abstract interface genuinely cannot supply it, namely basis-set preservation in Geometric Covariance (Theorem 555), discharged for nets arising from a concrete geometric spacetime; the coherence of the stabiliser action with the isotony embeddings is no longer a hypothesis there, being condition (3) of Axiom 5 transported along $$g \cdot \mathbf{B} = \mathbf{B}$$. - - *§10.6.1 Einstein Causality in Curved Spacetime (p. 309, item 545).* The operator form of local commutativity, expressed in a representation of a common containing local algebra rather than of a global quasilocal algebra (Theorem 545). - - *§10.6.2 Local von Neumann Algebras in Curved Spacetime (p. 310, items 546–557).* The Minkowski development of §10.5.3 mirrored relative to a containing region: the local von Neumann algebra of a subregion and its bundled registration (Definitions 546–547), Microcausality (Theorem 548), unconditional Isotony (Theorem 549), the bundled form (Theorem 550), the net as an order-preserving map on the poset of subregions (Definition 551), Statistical Independence in set-level and bundled forms (Theorems 552–553), additive-free locality (Theorem 554), and Geometric Covariance via the stabiliser GNS representation (Theorem 555) with orbit-invariance of factoriality (Theorem 556) and the upgrade to a \*-algebra isomorphism (Theorem 557). - - *§10.6.3 Relative Commutants of Nested Local Algebras in Curved Spacetime (p. 312, items 558–566).* The curved counterpart of §10.5.4: the relative commutant of a nested pair inside a containing region (Definition 558), its containment in the larger algebra, commutation with the smaller, and containment of the centre (Theorems 559–561), irreducible inclusions (Definition 562) and their consequences (Theorems 563–564), plus the abelian/centre facts specialised to curved local algebras (Theorems 565–566). - - *§10.6.4 Purity of States on Local Algebras in Curved Spacetime (p. 313, items 567–571).* Each local algebra is a unital C\*-algebra with its own state space, so the abstract purity characterisations are registered per region: Pure $$\iff$$ Extreme Point (Theorem 567), Pure $$\iff$$ Irreducible GNS (Theorem 568), the GNS representation of a pure state generates a factor and indeed all of $$\mathcal{B}(H)$$ (Theorem 569), the Irreducible Dichotomy for a curved local algebra (Theorem 570), and GNS covariance for curved local algebras (Theorem 571). - - *§10.6.5 Covariant States in Curved Spacetime (p. 314, items 572–573).* Covariant families of local states in curved spacetime (Definition 572) and their composition law (Lemma 573). - - *§10.6.6 The Stabilizer GNS Unitary in Curved Spacetime (p. 314, items 574–580).* Since no quasilocal algebra exists on a generic Lorentzian spacetime, the covariance action restricts to the stabiliser subgroup $$\mathrm{Stab}(\mathbf{B})$$ of a region, giving automorphisms of the single local algebra $$\mathfrak{U}(\mathbf{B})$$ (Definition 574) that form a genuine group action (Lemma 575). A stabiliser-invariant state carries a unitary GNS representation of $$\mathrm{Stab}(\mathbf{B})$$ (Theorem 576), strongly continuous when the matrix coefficients are continuous (Theorem 577); a state both stabiliser-invariant and pure yields an irreducible covariant representation (Theorem 578); purity is invariant under the stabiliser action (Theorem 579), and GNS data transports along it (Theorem 580). - - *§10.6.7 KMS States for a Killing Flow (p. 316, items 581–586).* Killing flows are identified as one-parameter subgroups of the stabiliser of a region, inducing a one-parameter automorphism group on $$\mathfrak{U}(\mathbf{B})$$ (Definition 581, Lemma 582). KMS states for a Killing flow (Definition 583) are the precise algebraic sense in which the Hartle–Hawking and Gibbons–Hawking states are thermal. Such a state at positive inverse temperature automatically carries a strongly continuous one-parameter unitary group on its GNS Hilbert space implementing the flow, yielding the curved-spacetime thermal representation—the analogue of the Minkowski vacuum representation (Theorem 584); these states form a convex set (Theorem 585), and the corresponding ground state is recorded alongside them (Definition 586). - -- **§10.7 General Covariance: Nets on Pullback-Related Metrics (pp. 317–318).** Two definitions, and the newest structural addition to the blueprint. The gauge group of general relativity is the full diffeomorphism group of $$M$$, so the physical content of a spacetime is its diffeomorphism-equivalence class and not the pair $$(M, g)$$; the hole argument shows that treating a relabelling as physical would destroy determinism, and Leibniz equivalence resolves it by declaring diffeomorphic models to represent the same physical situation. Accordingly, an equivalence of Haag–Kastler nets is defined (Definition 587) as a chosen family of unital \*-isomorphisms $$\Theta_\mathbf{B} : \mathfrak{U}_1(\mathbf{B}) \to \mathfrak{U}_2(e(\mathbf{B}))$$ along a basis-set-preserving bijection $$e$$ of carriers, natural with respect to the isotony embeddings. The carriers are related by data rather than by a type equality, deliberately: an equality of carrier types cannot be transported along and would force every comparison through a cast. A net theory is then a section assigning a net to every Lorentzian spacetime, and it is generally covariant when the nets over $$L$$ and over its pullback $$\psi^* L$$ are equivalent along $$\psi$$ (Definition 588). In Lean the nets are indexed over the identity-component bridge `toAbstractIdentityComponent`, so Axiom 5 of each net asks only for isometries connected to the identity, as in the blueprint. Four points are worth carrying away: this is a **postulate, not a theorem**—nothing forces the two nets to be isomorphic, and it says nothing about backgrounds that are not diffeomorphism-related; the morphism is specified geometrically rather than causally, because a purely causal morphism would admit the dilations (Theorems 356–357) and thereby demand a scale covariance that is false for a massive theory; the relabelling must be $$\psi$$ and not the identity, since a basis set of one metric is in general not a basis set of the other; and general covariance is a property of the section $$L \mapsto \mathfrak{U}_L$$, not a sixth field of the net structure, so no restriction to diffeomorphisms connected to the identity is needed here. +- **§10.4 Spacetime (pp. 233–270).** 137 items (Definitions 283–419), building the entire causal and topological apparatus the axioms are indexed on. The trips underlying the chronological and causal relations $$\ll$$ and $$\prec$$ are genuine geodesics of the Levi-Civita connection of the metric, which the section constructs for an arbitrary pseudo-Riemannian metric on top of Mathlib's covariant derivatives (Mathlib itself has only a Riemannian Levi-Civita connection and no geodesics). It proceeds in nine layers. + - *Spacetime, tangent-vector causality, and curves (pp. 233–238, items 283–306).* Gives precise definitions of spacetime (Definition 283) and standard Minkowski spacetime (Definition 284); classifies tangent vectors as timelike, spacelike, or null (Definition 285) and proves the trichotomy (Lemma 286), the reverse Cauchy–Schwarz and reverse triangle inequalities for timelike vectors (Lemmas 287–288), and the cone geometry—orientation of pointing vectors, the sign lemma, definiteness of the spacelike complement of a timelike vector, and convexity of the cones (Lemmas 291–294)—alongside time orientations (Definition 289) and future- and past-pointing vectors (Definition 290). Then paths, curves, and oriented curves are defined as equivalence classes of paths up to reparametrisation (Definitions 295–300), with causal type and future/past orientation each shown well-defined on the quotient (Theorems 299 and 301) and a forgetful projection from oriented to unoriented curves (Theorem 302). Endpoints (Definition 303), shown to be well defined on curves and smooth curves (Lemma 304), come with two point-set lemmas—an extremal parameter lies in the frontier, and two endpoints force a compact parameter interval (Lemmas 305–306). + - *The Levi-Civita connection and geodesics (pp. 238–242, items 307–322).* A new layer. Pseudo-Riemannian metrics (Definition 307) are smooth, symmetric, non-degenerate families of bilinear forms, with no signature condition, so everything here applies to every spacetime. Covariant derivatives are Mathlib's `IsCovariantDerivativeOn`; metric compatibility and the Levi-Civita condition (compatible and torsion-free) are defined on top of them (Definitions 308–309). The musical isomorphism $$v \mapsto g_x(v, \cdot)$$ is a linear isomorphism at each point (Lemma 310); the smoothness of its inverse (Lemma 311) is stated and proved in the blueprint but is the one node of the layer not yet formalised, and nothing depends on it. The Koszul formula (Lemma 312), the tensoriality of the Koszul expression (Lemma 313), and the verification that the Koszul connection is a covariant derivative (Lemma 314) that is Levi-Civita (Lemma 315) give existence and uniqueness of the Levi-Civita connection (Theorem 316). Five lemmas about smooth paths—a function vanishing along a path has zero derivative along it, the covariant derivative along a curve is local, local vector fields globalise, a smooth path has a local left inverse, and its velocity extends to a smooth vector field (Lemmas 317–321)—make the geodesic condition chart-free, well defined and non-vacuous. A geodesic (Definition 322) is then an affinely parametrised smooth path $$\mu$$ with $$(\nabla_X X)(\mu(s)) = 0$$ at every interior parameter, for every smooth vector field $$X$$ extending the velocity near $$s$$. + - *Trips, futures and pasts (pp. 242–244, items 323–331).* Trips and causal trips (Definitions 323–324) are finite chains of future-oriented timelike (respectively causal) geodesic segments, geodesic in the sense of Definition 322, with matching past and future endpoints. Chronological and causal precedence are transitive (Theorem 325); the causality condition (Definition 326) makes them a strict partial order (Theorem 327); and chronological and causal futures and pasts (Definitions 328–329) come with their basic inclusion and monotonicity properties (Lemmas 330–331). + - *§10.4.1 Causal diamonds (p. 244, items 332–346).* Introduces the causal diamond $$J^+(p) \cap J^-(q)$$ and the chronological (Alexandrov) diamond $$I^+(p) \cap I^-(q)$$ (Definition 332), with the structural properties of the causal diamond—monotonicity under endpoint spread, causal convexity, and that nonemptiness forces $$p \prec q$$ (Lemma 333)—and the containment of chronological diamonds in causal ones, together with the identification of the Alexandrov basis as exactly the chronological diamonds (Theorem 334). It then develops spacelike separation of points and of regions (Definitions 335–336, Lemmas 337–338), the spacelike complement $$\mathbf{B}^\perp$$ (Definition 339) and its order structure—antitone, extensive on the double complement, with the triple complement collapsing, making complementation the Galois connection attached to the spacelike-separation relation (Lemma 340). The double complement is packaged as the causal closure operator (Definition 341, Lemma 342), whose fixed points are the causally complete regions (Definition 343). These form a complete lattice—meets are intersections, joins are causal closures of unions—on which the causal complement is an order-reversing involution (Theorem 344); the set-level De Morgan laws (Lemma 345) then lift to full binary and infinitary De Morgan laws on the lattice (Theorem 346). The blueprint is careful to record what does *not* hold: the full orthocomplement law $$\mathbf{B} \wedge \mathbf{B}^\perp = \bot$$ fails at this generality, because the trip-based causal relation is irreflexive and so a point is spacelike-separated from itself. + - *§10.4.2 Causal convexity (p. 248, items 347–349).* Defines a causally convex region as one containing every point causally between two of its own points (Definition 347), shows causal diamonds are causally convex (Lemma 348), and shows every spacelike complement—hence every causally complete region—is causally convex (Theorem 349). + - *§10.4.3 Causal convexity: closure structure, and the Alexandrov basis theorems (p. 249, items 350–373).* The causally convex regions are shown to form a closure system (Lemma 350), giving the causal-convex hull (Definition 351) as a genuine closure operator whose closed sets are exactly the causally convex regions (Lemmas 352, Theorem 353). The subsection then turns to the Alexandrov topology (Definition 354): every diamond is open (Lemma 355); chronological futures and pasts are open under an explicit "no endpoints" hypothesis (Lemma 356) and unconditionally on standard Minkowski spacetime, where the coordinate-cone description discharges the hypothesis (Lemma 357). On standard Minkowski spacetime the componentwise directional derivative is a Levi-Civita connection (Lemma 358), hence the Levi-Civita connection is flat (Lemma 359) and affinely parametrised straight lines are geodesics (Lemma 360), so trips there are the familiar straight-line segments. Minkowski spacetime and Lorentzian spacetime are then defined (Definitions 361–362, the latter as a spacetime whose Alexandrov topology is Hausdorff), with a bundled form of spacelike separation and basis openness (Lemma 363). A point lying in no diamond is pathological: its only Alexandrov neighbourhood is the whole space (Lemma 364), and the Hausdorff assumption rules this out, forcing the diamonds to cover the space (Lemma 365). Given downward-directedness the diamonds form a genuine topological basis (Theorem 366); past and future interpolation on standard Minkowski (Lemmas 367–368) supply downward-directedness there (Lemma 369), and common chronological predecessors and successors supply upward-directedness (Lemmas 370–372), so on standard Minkowski the diamonds are an unconditional basis (Theorem 373). Upward-directedness is what the quasilocal colimit of §10.5.1 later consumes. + - *§10.4.4 Dilations are causal automorphisms but not isometries (p. 255, items 374–376).* The dilations $$x \mapsto \lambda x$$ preserve the Minkowski cones (Lemma 374) and are therefore causal automorphisms (Theorem 375), yet scale the metric by $$\lambda^2$$ and so are not isometries for $$\lambda \neq 1$$ (Theorem 376). This is the counterexample that forces the general-covariance morphism of §10.7 to be specified geometrically rather than causally. + - *§10.4.5 Isometries and basis-set preservation (p. 256, items 377–387).* Single-metric transport: isometries preserve the causal classification of tangent vectors (Lemma 377), paths have unique differentials and well-defined pushforwards (Lemmas 378–379), and isometries respect the Levi-Civita structure: pullbacks of vector fields and of the metric pairing, their derivatives and Lie brackets transform naturally (Lemmas 380–382), so an isometry preserves the Levi-Civita connection (Lemma 383) and maps geodesics to geodesics and back (Lemma 384). Future-orientation-preserving isometries preserve chronology (Lemma 385) and map Alexandrov-basis diamonds to diamonds (Lemma 386), which is exactly the well-definedness condition for the Axiom 5 action (Lemma 387). + - *§10.4.6 Pullback metrics and cross-metric isometries (p. 258, items 388–419).* The single-metric lemmas above compare a spacetime with itself; general covariance instead compares two different metrics on one carrier, so the transport statements are redone cross-metric. This subsection defines the pullback $$\psi^* g$$ of a spacetime metric as a bundled family of continuous bilinear forms (Definition 388) and verifies every obligation in turn: the differential of a diffeomorphism is a linear equivalence (Lemma 389), with the two round-trip cancellation identities that Mathlib does not supply for a global `Diffeomorph` proved by hand (Lemmas 390–392); the pullback metric is symmetric, non-degenerate, Lorentzian, and a smooth section of the bilinear-form bundle (Lemmas 393–396), so the pullback of a spacetime is a spacetime (Theorem 397). Two-sided preservation of future orientation is then defined (Definition 398) and the pullback time orientation is shown to be bundle-smooth, nowhere vanishing, and everywhere timelike (Lemmas 399–402), with transport of future-pointing timelike and null vectors (Lemmas 403–404) giving two-sided orientation preservation (Lemma 405). Cross-metric isometries are defined (Definition 406) and shown closed under inverses (Lemma 407), to preserve causal classification (Lemma 408), to push paths forward preserving the timelike/causal conditions and endpoints (Lemmas 409–412), and to transport chronological precedence and the chronological future and past (Lemmas 413–415), hence to preserve Alexandrov-basis sets (Lemma 416). A general topological lemma—a bijection matching generating families is a homeomorphism (Lemma 417)—then identifies the pullback Alexandrov topology (Lemma 418) and yields that the pullback of a Lorentzian spacetime is again a Lorentzian spacetime (Theorem 419). Without Theorem 419 the phrase "the net over $$\psi^*(M,g)$$" in §10.7 would have no referent. + +- **§10.5 Haag–Kastler Axioms in Minkowski spacetime (pp. 270–308).** The largest section by definition and theorem count (142 items, Definitions 420–561). Each axiom is stated as a definition so that it appears as a node in the declaration graph. + - *The axioms and the quasilocal colimit (§10.5 and §10.5.1, pp. 270–289, items 420–450).* Axiom 1 (Local Algebras, Definition 420) assigns an abstract C\*-algebra to every Alexandrov-basis set, with $$\emptyset \mapsto \mathbb{C}1$$. Axiom 2 (Isotony, Definition 421) now supplies the family of unital \*-monomorphisms $$i_{\mathbf{B}_1 \mathbf{B}_2}$$ **as chosen data**, subject to injectivity, an identity law, and a composition law—so that $$\mathbf{B} \mapsto \mathfrak{U}(\mathbf{B})$$ is a functor on the inclusion order of basis sets. The blueprint is explicit that the family cannot be an existence statement (the identity and composition conditions are equations between the maps themselves) and that the inclusion hypothesis is non-strict, matching the Lean. §10.5.1 then cashes this in: the diamonds are directed under inclusion (Lemma 422), the isotony family is a directed system in Mathlib's sense (Lemma 423), and the direct limit carries a well-defined norm (Lemmas 424–426) making it a normed \*-algebra (Lemma 427) satisfying the C\*-inequality (Lemma 428) but not, in general, complete. A block of results stated for an arbitrary normed \*-algebra under standing hypotheses (Definition 429) then carries the structure through completion—the involution and its extension (Definition 430, Lemma 431), the completion coercion as a bundled \*-algebra homomorphism (Lemma 432), and the passage of the C\*-inequality, the normed $$\mathbb{C}$$-algebra structure, and finally the C\*-algebra property to the completion (Lemmas 433–435)—yielding that the completion of the quasilocal colimit is a C\*-algebra (Lemma 436). The quasilocal algebra $$\mathfrak{U}$$ is defined as that colimit-then-completion (Definition 437); the blueprint records why the shortcut of realising $$\mathfrak{U}$$ as a closed \*-subalgebra of an ambient C\*-algebra is rejected—it would assume an ambient algebra containing copies of every $$\mathfrak{U}(\mathbf{B})$$, for which the physics supplies no justification. Axiom 3 (Local Commutativity, Definition 438) follows, together with the new Lemma 439: local commutativity transfers from any one quasilocal algebra to every other, so the choice of quasilocal algebra in Axiom 3 is immaterial and the canonical $$\mathfrak{U}$$ of a net can be used throughout. The quasilocal observable (Definition 440) follows. **Axiom 4 is now split in two.** Axiom 4 (Quasilocal Completeness, Definition 441) is presented as a bridge principle—the one axiom joining physical reality to the formalism, asserting the one-way inclusion that every physical observable corresponds to a quasilocal observable, and therefore having no mathematical consumers. The mathematical content previously conflated with it is separated out as a theorem: every local net satisfying Axiom 2 admits a quasilocal algebra, with an injective cocone of canonical embeddings whose images are dense (Theorem 442, with the supporting Lemmas 443–447). The indexing over Alexandrov-basis sets only is essential and not stylistic, since the algebras attached to non-basis subsets are junk fibres about which the axioms say nothing. Theorem 448 is the density result that keeps the bridge principle tenable in the presence of larger bicommutants, and is the one node whose proof is deliberately left unformalised (its statement is formalised). Axiom 5 (Lorentz Covariance, Definition 449), whose coherence condition is now stated for the Axiom 2 isotony family itself, and the bundled `HaagKastlerNet` (Definition 450) close the block. + - *§10.5.2 Einstein Causality (p. 289, item 451).* Derives the operator form of local commutativity in any \*-representation of the quasilocal algebra (Theorem 451). + - *§10.5.3 Local von Neumann Algebras (p. 290, items 452–464).* Defines the local von Neumann algebra $$R(\mathbf{B}) = \pi(\mathfrak{U}(\mathbf{B}))''$$ of a region in a representation (Definition 452), registers it as a first-class `VonNeumannAlgebra` via the bicommutant-of-a-self-adjoint-set lemma (Lemma 453, Definition 454), and proves Microcausality (Theorem 455) and Isotony of the von Neumann net (Theorem 456), together with their bundled forms (Theorem 457) and the region-indexed assignment $$\mathbf{B} \mapsto R(\mathbf{B})$$ as an order-preserving map—the net of von Neumann algebras itself (Definition 458). It then proves the Statistical Independence (Schlieder) property in set-level and bundled forms (Theorems 459–460): if the cyclic vector of one region is cyclic for its local observables, it is separating for the local von Neumann algebra of any spacelike-separated region. Additive-free locality (Theorem 461) expresses locality through the spacelike complement without attaching an algebra to the unbounded complement itself. Geometric Covariance (Theorem 462) shows conjugation by the implementing unitary carries $$R(\mathbf{B})$$ onto $$R(L \cdot \mathbf{B})$$; being a factor is therefore constant along the Lorentz orbit of a region (Theorem 463), and the set equality upgrades to a first-class \*-algebra isomorphism of the bundled algebras (Theorem 464). + - *§10.5.4 Relative Commutants of Nested Local Algebras (p. 292, items 465–472).* A new block organising the theory of inclusions $$R(\mathbf{B}_1) \subseteq R(\mathbf{B}_2)$$ around the relative commutant $$R(\mathbf{B}_1)' \cap R(\mathbf{B}_2)$$ (Definition 465). It proves antitonicity of the commutant (Theorem 466), that the relative commutant lies in the larger algebra and commutes with the smaller (Theorems 467–468), and that it always contains the centre of the ambient algebra (Theorem 469). An inclusion is irreducible when its relative commutant is trivial (Definition 470); an irreducible inclusion forces the ambient algebra to be a factor (Theorem 471), and the trivial self-inclusion is irreducible exactly when the algebra is a factor (Theorem 472). + - *§10.5.5 Irreducibility and Schur's Lemma (p. 293, items 473–495).* Introduces irreducible representations via their commutant (Definition 473) and establishes the Topological Schur Lemma for cyclic representations (Theorem 474) together with the operator-theoretic bridge identifying commutant scalars with coefficients proportional to the state (Theorem 475). Defines pure states (Definition 476) and proves "pure implies irreducible" directly (Theorem 477), then the full equivalence Pure $$\iff$$ Irreducible (Theorem 480) via a GNS Radon–Nikodym theorem realising every dominated positive functional as an operator in the commutant (Theorems 478–479). An irreducible representation generates a factor (Theorem 481) and, more sharply, all of $$\mathcal{B}(H)$$ (Theorem 482), with a bundled density form (Theorem 483); consequently the GNS representation of a pure state generates a factor (Theorem 484) and all of $$\mathcal{B}(H)$$ (Theorem 485). The norm of a positive linear functional on a unital C\*-algebra equals its value on the unit (Theorem 486), which supports Pure $$\iff$$ Extreme Point of the state space (Definition 487, Theorem 488), the underlying convexity and the bridge to Mathlib's extreme-points API (Theorem 489), and weak-\* compactness of the state space (Theorem 493), which supplies the existence of pure states via Krein–Milman. The pullback of a state along a unital \*-homomorphism is introduced as its own object (Definition 490) with functoriality (Theorem 491) and the invariance of purity under a \*-isomorphism (Theorem 492). The section closes by specialising to the quasilocal algebra (Theorems 494–495). + - *§10.5.6 Unitary Equivalence and Superselection (p. 297, items 496–497).* Defines unitary equivalence of representations (Definition 496) and shows irreducibility and factoriality are unitary invariants, transported by the cross-space conjugation induced by the implementing unitary (Theorem 497). + - *§10.5.7 GNS Covariance (p. 297, items 498–503).* A new block. Cyclicity pulls back along a surjective \*-homomorphism (Lemma 498), so GNS data transports covariantly along a \*-isomorphism of the algebras (Theorem 499), restated as a unitary equivalence (Theorem 500). Pullback along a surjection preserves the image algebra (Lemma 501), whence superselection type transports along a \*-isomorphism (Theorem 502): the whole sector structure is an invariant of the algebra, not of its presentation. Applied to the covariance equivalence $$\alpha_L : \mathfrak{U}(\mathbf{B}) \simeq \mathfrak{U}(L \cdot \mathbf{B})$$ supplied by Axiom 5, this says the superselection type of a local state is constant along the Lorentz orbit of its region (Theorem 503). + - *§10.5.8 Disjointness and Quasi-Equivalence (p. 299, items 504–521).* Defines disjointness via the vanishing of all intertwiners (Definition 504) and the coarser quasi-equivalence via a \*-isomorphism of generated von Neumann algebras (Definition 505). Proves Schur's Lemma in the form of the Irreducible Dichotomy—two irreducible representations are either disjoint or unitarily equivalent (Theorem 506)—together with Schur multiplicity (Lemma 507) and the triviality of the endomorphism algebra of an irreducible representation (Lemma 508). The commutant is packaged as the self-intertwiner (gauge) von Neumann algebra, trivial exactly when the representation is irreducible (Theorem 509), with double-commutant duality (Theorem 510) and the factor/triviality duality between an algebra and its commutant (Theorem 511). A supporting run develops the centre from scratch: abelian $$\iff$$ self-commuting (Lemma 512), the centre $$Z(R) = R \cap R'$$ (Definition 513) and its being a von Neumann algebra (Lemma 514), the general two-algebra intersection lemma that the relative commutants of §10.5.4 need (Lemma 515), the centre is abelian (Theorem 516), $$R$$ is abelian iff it equals its centre (Lemma 517), a factor is abelian iff it is the scalars (Theorem 518), an algebra and its commutant share a centre (Theorem 519), and factoriality is triviality of the centre (Theorem 520). The Pure-State Dichotomy underlying superselection sectors (Theorem 521) closes the block. + - *§10.5.9 Direct Sums, Amplification, and Reducibility (p. 302, items 522–525).* Defines the direct-sum representation on the $$\ell^2$$-direct sum (Definition 522), shows each summand embeds as a subrepresentation whose projection lies in the commutant of the sum (Theorem 523), defines the $$\iota$$-fold amplification (Definition 524), and proves a direct sum with at least two nonzero summands is reducible, so a multiply-amplified representation is never irreducible (Theorem 525). + - *§10.5.10 Covariant States and the Covariance Action (p. 302, items 526–545).* Defines covariant families of local states (Definition 526) with their composition law (Lemma 527), and the lift of the fibrewise covariance action to a \*-automorphism of the quasilocal algebra (Definition 528), with uniqueness (Lemma 529) and existence for every quasilocal algebra (Theorem 531), no covariance-compatibility hypothesis being needed because every quasilocal algebra is automatically covariance-compatible (Lemma 530, new), and the trivial net as a special case (Theorem 532). The covariant quasilocal algebra of a net is then simply its canonical quasilocal algebra together with the covariance action (Definition 533, realised in Lean as `HaagKastlerNet.action`, so the covariance dynamics are stated directly for the net), which is a genuine group action (Lemma 534). Invariant states are defined (Definition 535) and shown to be implemented by GNS unitaries (Theorem 536); a state that is both invariant and pure yields a GNS representation that is simultaneously covariant and irreducible (Theorem 537). A "bounded-generator" scaffold toward the spectrum condition follows, deliberately sidestepping Stone's theorem and unbounded self-adjoint operators (the Lean records this bounded-generator restriction in **Restriction:** notes): positive energy for a bounded generator (Definition 538) with its API (Theorem 539), a generator-parameterised vacuum state (Definition 540) and its Stone-free consequences (Theorem 541), the future-timelike translation subgroup (Definition 542), and the vacuum state with that concrete predicate substituted in, leaving no free parameter (Definition 543). Purity is preserved by any \*-automorphism and is therefore covariance-invariant (Theorem 544), and GNS data transports along the quasilocal covariance action (Theorem 545). + - *§10.5.11 The Separating Vector of a Faithful State (p. 306, item 546).* The cyclic vector of a faithful state is also separating for the image of the representation (Theorem 546)—the basic datum of Tomita–Takesaki modular theory. This holds in any representation reproducing a faithful state, not only the canonical GNS one. + - *§10.5.12 The KMS Condition and Thermal Equilibrium (p. 306, items 547–556).* Introduces one-parameter automorphism groups (Definition 547) and KMS states (Definition 548) as the algebraic characterisation of thermal equilibrium. The condition is phrased purely as an analyticity statement about correlation functions, so—unlike the spectrum condition—it needs no unbounded-operator theory. The KMS state set is convex (Theorem 549); a boundary-coincidence argument at $$a = 1$$ (Lemma 550) together with the Strip-Liouville Principle (Definition 551), proved at positive inverse temperature via an $$i\beta$$-periodic entire extension (Theorem 552) and Liouville's theorem (Theorem 553), yields that KMS states are automatically invariant under the time evolution (Theorem 554); uniqueness on the strip from boundary values (Theorem 555) gives uniqueness of the analytic completion of a KMS correlation function (Theorem 556). + - *§10.5.13 KMS States for the Covariance Flow (p. 307, items 557–561).* A one-parameter subgroup of the inhomogeneous Lorentz group induces a one-parameter automorphism group on the quasilocal algebra via the covariance lift (Definition 557, Lemma 558); KMS states for that flow are defined accordingly (Definition 559) and shown convex (Theorem 560). The zero-temperature ($$\beta \to \infty$$) counterpart—a ground state for a covariance flow, whose GNS-implementing unitary group has positive energy—is recorded alongside it (Definition 561). + +- **§10.6 Haag–Kastler Axioms in Curved Spacetime (pp. 308–318).** 49 items, Definitions 562–610. The axioms are restated for a Lorentzian spacetime: Local Algebras (Definition 562), Isotony (Definition 563, again supplying the family as chosen data with identity and composition laws), Local Commutativity (Definition 564, which now **consumes** the Axiom 2 family rather than choosing its own witnesses), local observables (Definition 565), Local Completeness (Definition 566), and Isometric Covariance (Definition 567, whose coherence condition, as in Minkowski, is stated for the Axiom 2 isotony family), bundled into a `HaagKastlerNet` in curved spacetime (Definition 568). The change to Axioms 2 and 3 has a visible consequence downstream: statements about nested regions have to factor a three-fold inclusion $$\mathbf{B}_1 \subseteq \mathbf{B}_2 \subseteq \mathbf{B}$$ inside a common containing algebra, and that factorisation is now the composition law of Axiom 2, so **the coherence hypotheses that earlier versions carried at each such site are gone**—curved isotony (Theorem 573) and the curved von Neumann net (Definition 575) are unconditional. An explicit hypothesis remains only where the abstract interface genuinely cannot supply it, namely basis-set preservation in Geometric Covariance (Theorem 579), discharged for nets arising from a concrete geometric spacetime; the coherence of the stabiliser action with the isotony embeddings is no longer a hypothesis there, being condition (3) of Axiom 5 transported along $$g \cdot \mathbf{B} = \mathbf{B}$$. + - *§10.6.1 Einstein Causality in Curved Spacetime (p. 310, item 569).* The operator form of local commutativity, expressed in a representation of a common containing local algebra rather than of a global quasilocal algebra (Theorem 569). + - *§10.6.2 Local von Neumann Algebras in Curved Spacetime (p. 311, items 570–581).* The Minkowski development of §10.5.3 mirrored relative to a containing region: the local von Neumann algebra of a subregion and its bundled registration (Definitions 570–571), Microcausality (Theorem 572), unconditional Isotony (Theorem 573), the bundled form (Theorem 574), the net as an order-preserving map on the poset of subregions (Definition 575), Statistical Independence in set-level and bundled forms (Theorems 576–577), additive-free locality (Theorem 578), and Geometric Covariance via the stabiliser GNS representation (Theorem 579) with orbit-invariance of factoriality (Theorem 580) and the upgrade to a \*-algebra isomorphism (Theorem 581). + - *§10.6.3 Relative Commutants of Nested Local Algebras in Curved Spacetime (p. 313, items 582–590).* The curved counterpart of §10.5.4: the relative commutant of a nested pair inside a containing region (Definition 582), its containment in the larger algebra, commutation with the smaller, and containment of the centre (Theorems 583–585), irreducible inclusions (Definition 586) and their consequences (Theorems 587–588), plus the abelian/centre facts specialised to curved local algebras (Theorems 589–590). + - *§10.6.4 Purity of States on Local Algebras in Curved Spacetime (p. 314, items 591–595).* Each local algebra is a unital C\*-algebra with its own state space, so the abstract purity characterisations are registered per region: Pure $$\iff$$ Extreme Point (Theorem 591), Pure $$\iff$$ Irreducible GNS (Theorem 592), the GNS representation of a pure state generates a factor and indeed all of $$\mathcal{B}(H)$$ (Theorem 593), the Irreducible Dichotomy for a curved local algebra (Theorem 594), and GNS covariance for curved local algebras (Theorem 595). + - *§10.6.5 Covariant States in Curved Spacetime (p. 315, items 596–597).* Covariant families of local states in curved spacetime (Definition 596) and their composition law (Lemma 597). + - *§10.6.6 The Stabilizer GNS Unitary in Curved Spacetime (p. 315, items 598–604).* Since no quasilocal algebra exists on a generic Lorentzian spacetime, the covariance action restricts to the stabiliser subgroup $$\mathrm{Stab}(\mathbf{B})$$ of a region, giving automorphisms of the single local algebra $$\mathfrak{U}(\mathbf{B})$$ (Definition 598) that form a genuine group action (Lemma 599). A stabiliser-invariant state carries a unitary GNS representation of $$\mathrm{Stab}(\mathbf{B})$$ (Theorem 600), strongly continuous when the matrix coefficients are continuous (Theorem 601); a state both stabiliser-invariant and pure yields an irreducible covariant representation (Theorem 602); purity is invariant under the stabiliser action (Theorem 603), and GNS data transports along it (Theorem 604). + - *§10.6.7 KMS States for a Killing Flow (p. 317, items 605–610).* Killing flows are identified as one-parameter subgroups of the stabiliser of a region, inducing a one-parameter automorphism group on $$\mathfrak{U}(\mathbf{B})$$ (Definition 605, Lemma 606). KMS states for a Killing flow (Definition 607) are the precise algebraic sense in which the Hartle–Hawking and Gibbons–Hawking states are thermal. Such a state at positive inverse temperature automatically carries a strongly continuous one-parameter unitary group on its GNS Hilbert space implementing the flow, yielding the curved-spacetime thermal representation—the analogue of the Minkowski vacuum representation (Theorem 608); these states form a convex set (Theorem 609), and the corresponding ground state is recorded alongside them (Definition 610). + +- **§10.7 General Covariance: Nets on Pullback-Related Metrics (pp. 318–320).** Two definitions, and the newest structural addition to the blueprint. The gauge group of general relativity is the full diffeomorphism group of $$M$$, so the physical content of a spacetime is its diffeomorphism-equivalence class and not the pair $$(M, g)$$; the hole argument shows that treating a relabelling as physical would destroy determinism, and Leibniz equivalence resolves it by declaring diffeomorphic models to represent the same physical situation. Accordingly, an equivalence of Haag–Kastler nets is defined (Definition 611) as a chosen family of unital \*-isomorphisms $$\Theta_\mathbf{B} : \mathfrak{U}_1(\mathbf{B}) \to \mathfrak{U}_2(e(\mathbf{B}))$$ along a basis-set-preserving bijection $$e$$ of carriers, natural with respect to the isotony embeddings. The carriers are related by data rather than by a type equality, deliberately: an equality of carrier types cannot be transported along and would force every comparison through a cast. A net theory is then a section assigning a net to every Lorentzian spacetime, and it is generally covariant when the nets over $$L$$ and over its pullback $$\psi^* L$$ are equivalent along $$\psi$$ (Definition 612). In Lean the nets are indexed over the identity-component bridge `toAbstractIdentityComponent`, so Axiom 5 of each net asks only for isometries connected to the identity, as in the blueprint. Four points are worth carrying away: this is a **postulate, not a theorem**—nothing forces the two nets to be isomorphic, and it says nothing about backgrounds that are not diffeomorphism-related; the morphism is specified geometrically rather than causally, because a purely causal morphism would admit the dilations (Theorems 375–376) and thereby demand a scale covariance that is false for a massive theory; the relabelling must be $$\psi$$ and not the identity, since a basis set of one metric is in general not a basis set of the other; and general covariance is a property of the section $$L \mapsto \mathfrak{U}_L$$, not a sixth field of the net structure, so no restriction to diffeomorphisms connected to the identity is needed here. ## What is Being Formalised -Only the content of Chapter 10 is formalised in Lean. Its items are numbered consecutively from Definition 13 through Definition 588 — 573 declarations, plus the three standing conventions of §10.2 and §10.3 — and **every one of them is listed below**, in numerical order, under the blueprint subsection in which it appears. Each entry links to the node in the web blueprint and names the principal Lean declaration that realises it; where a node maps onto several declarations, the count of the remainder is shown. This list is derived mechanically from the blueprint's own `\lean` and `\leanok` annotations, so it can be checked line by line against the source. +Only the content of Chapter 10 is formalised in Lean. Its items are numbered consecutively from Definition 13 through Definition 612 — 597 declarations, plus the three standing conventions of §10.2 and §10.3 — and **every one of them is listed below**, in numerical order, under the blueprint subsection in which it appears. Each entry links to the node in the web blueprint and names the principal Lean declaration that realises it; where a node maps onto several declarations, the count of the remainder is shown. This list is derived mechanically from the blueprint's own `\lean` and `\leanok` annotations, so it can be checked line by line against the source. The lower numbers, 1 through 12, label supporting theorems and definitions introduced along the way in the motivational Chapters 4–9. None of them carries a Lean declaration, and they are **not** formalised: C\*-spectrum invariance under inclusion (Theorem 1), uniqueness of the C\*-norm (Theorem 2), strong density of unital \*-algebras (Theorem 3), the Bounded Linear Transformation Theorem (Theorem 4), Gelfand–Naimark (Theorem 5), the rarity of primitive abelian C\*-algebras (Lemma 6), existence of a Lorentz metric (Theorem 7), causal convexity and strong causality (Definitions 8–9), properties of the Alexandrov topology (Theorem 10), Lorentzian spacetime (Definition 11), and the local observable (Definition 12). @@ -510,9 +512,9 @@ The lower numbers, 1 through 12, label supporting theorems and definitions intro - [**Theorem 281**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:hall-10.30) — Transporting the Spectral Measure through the Cayley Transform · `Physicslib4.Spectral.Unbounded.cayleyPVM` (+1 more) - [**Theorem 282**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:hall-10.4) — Spectral Theorem for Unbounded, Self-Adjoint Operators · `Physicslib4.Spectral.Unbounded.existsUnique_spectralMeasure_unbounded` (+1 more) -### §10.4 Spacetime and causal structure (pp. 233–269) +### §10.4 Spacetime and causal structure (pp. 233–270) -**§10.4 opening run — spacetime, tangent-vector causality, curves, trips, futures and pasts (p. 233)** +**§10.4 opening run — spacetime, tangent-vector causality, curves, the Levi-Civita connection and geodesics, trips, futures and pasts (p. 233)** - [**Definition 283**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:spacetime) — Spacetime · `Physicslib4.Spacetime` - [**Definition 284**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:standard-minkowski-spacetime) — Standard Minkowski Spacetime · `Physicslib4.StandardMinkowskiSpacetime` @@ -538,412 +540,436 @@ The lower numbers, 1 through 12, label supporting theorems and definitions intro - [**Lemma 304**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:curve-endpoint-well-defined) — Endpoints of curves are well defined · `Physicslib4.Spacetime.IsCurveEndpoint` (+5 more) - [**Lemma 305**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:extremal-parameter-mem-frontier) — An extremal parameter lies in the frontier · `Physicslib4.Spacetime.mem_frontier_of_isMin` (+3 more) - [**Lemma 306**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:endpoint-parameter-space-eq-Icc) — Two endpoints force a compact parameter interval · `Physicslib4.Spacetime.parameterSpace_eq_Icc_of_endpoints` -- [**Definition 307**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:trip) — Trip · `Physicslib4.Spacetime.IsTripSegment` (+2 more) *(geodesic clause is a placeholder in Lean — see [Formalisation status](#formalisation-status))* -- [**Definition 308**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-trip) — Causal Trip · `Physicslib4.Spacetime.IsCausalTripSegment` (+2 more) *(geodesic clause is a placeholder in Lean — see [Formalisation status](#formalisation-status))* -- [**Theorem 309**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:precedence-transitive) — Transitivity of chronological and causal precedence · `Physicslib4.Spacetime.chronologicallyPrecedes_trans` (+1 more) -- [**Definition 310**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:no-closed-causal-curve) — No Closed Causal Curve (Causality Condition) · `Physicslib4.Spacetime.NoClosedCausalCurve` -- [**Theorem 311**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-order-refinements) — Irreflexivity and Antisymmetry under Causality · `Physicslib4.Spacetime.chronologicallyPrecedes_irrefl` (+2 more) -- [**Definition 312**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:chronological-future-and-chronological-past) — Chronological Future and Chronological Past · `Physicslib4.Spacetime.chronologicalFuture` (+3 more) -- [**Definition 313**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-future-and-causal-past) — Causal Future and Causal Past · `Physicslib4.Spacetime.causalFuture` (+3 more) -- [**Lemma 314**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:chronological-implies-causal) — Chronological Precedence Implies Causal Precedence · `Physicslib4.Spacetime.isCausal_of_isTimelike` (+3 more) -- [**Lemma 315**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:future-past-monotone) — Monotonicity of Futures and Pasts · `Physicslib4.Spacetime.chronologicalFutureSet_mono` (+3 more) - -**§10.4.1 Causal diamonds, spacelike complement, and causal closure (p. 240)** - -- [**Definition 316**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-diamond) — Causal and chronological diamonds · `Physicslib4.Spacetime.causalDiamond` (+3 more) -- [**Lemma 317**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-diamond-structure) — Structural properties of the causal diamond · `Physicslib4.Spacetime.causalDiamond_subset_of` (+2 more) -- [**Theorem 318**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-diamond-vs-chronological) — Chronological diamonds inside causal diamonds · `Physicslib4.Spacetime.chronologicalDiamond_subset_causalDiamond` (+1 more) -- [**Definition 319**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:spacelike-related) — Spacelike Related · `Physicslib4.Spacetime.IsSpacelikeRelated` -- [**Definition 320**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completely-spacelike) — Completely Spacelike · `Physicslib4.Spacetime.IsCompletelySpacelike` -- [**Lemma 321**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completely-spacelike-symm) — Symmetry of Spacelike Separation · `Physicslib4.Spacetime.isSpacelikeRelated_comm` (+1 more) -- [**Lemma 322**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completely-spacelike-structural) — Structural Properties of Complete Spacelike Separation · `Physicslib4.Spacetime.isCompletelySpacelike_mono` (+9 more) -- [**Definition 323**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:spacelike-complement) — Spacelike Complement of a Region · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement` -- [**Lemma 324**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:spacelike-complement-order) — Order Structure of the Spacelike Complement · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement_antitone` (+3 more) -- [**Definition 325**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-closure) — Causal closure operator · `Physicslib4.Spacetime.LorentzianSpacetime.causalClosure` -- [**Lemma 326**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-closure-is-closure-operator) — The Causal Closure is a Closure Operator · `Physicslib4.Spacetime.LorentzianSpacetime.causalClosure` (+1 more) -- [**Definition 327**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causally-complete-region) — Causally complete region · `Physicslib4.Spacetime.LorentzianSpacetime.IsCausallyComplete` -- [**Theorem 328**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causally-complete-lattice) — Lattice of causally complete regions · `Physicslib4.Spacetime.LorentzianSpacetime.CausallyCompleteRegion` (+8 more) -- [**Lemma 329**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:spacelike-complement-de-morgan) — De Morgan Laws for the Spacelike Complement · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement_union` (+1 more) -- [**Theorem 330**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-complement-de-morgan) — De Morgan Laws for the Causal Complement · `Physicslib4.Spacetime.LorentzianSpacetime.causalComplement_antitone` (+6 more) - -**§10.4.2 Causal convexity (p. 246)** - -- [**Definition 331**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causally-convex-region) — Causally convex region · `Physicslib4.Spacetime.IsCausallyConvex` -- [**Lemma 332**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-diamond-causally-convex) — Causal diamonds are causally convex · `Physicslib4.Spacetime.causalDiamond_isCausallyConvex` -- [**Theorem 333**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causally-complete-convex) — Causally complete regions are causally convex · `Physicslib4.Spacetime.spacelikeComplement_isCausallyConvex` (+2 more) - -**§10.4.3 Causal convexity: closure structure, and the Alexandrov basis theorems (p. 247)** - -- [**Lemma 334**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causally-convex-closure-ops) — Causally convex regions form a closure system · `Physicslib4.Spacetime.isCausallyConvex_univ` (+4 more) -- [**Definition 335**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-convex-hull) — Causal-convex hull · `Physicslib4.Spacetime.causalConvexHull` -- [**Lemma 336**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-convex-hull-extensive) — The Causal-Convex Hull is Extensive and Causally Convex · `Physicslib4.Spacetime.subset_causalConvexHull` (+1 more) -- [**Theorem 337**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-convex-hull-closure) — The causal-convex hull is a closure operator · `Physicslib4.Spacetime.causalConvexHull_minimal` (+3 more) -- [**Definition 338**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:alexandrov-topology) — Alexandrov Topology · `Physicslib4.Spacetime.alexandrovTopology` -- [**Lemma 339**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-basis-open) — Basis Sets Are Alexandrov-Open · `Physicslib4.Spacetime.isOpen_alexandrov_of_mem_basis` -- [**Lemma 340**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:chronological-future-past-open) — Openness of Chronological Futures and Pasts · `Physicslib4.Spacetime.isOpen_chronologicalFuture_inter_chronologicalPast` (+2 more) -- [**Lemma 341**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-chronological-open) — Unconditional Openness of Chronological Futures and Pasts on Standard Minkowski · `Physicslib4.exists_chronologicalFuture_standardMinkowski` (+5 more) -- [**Definition 342**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:minkowski-spacetime) — Minkowski Spacetime · `Physicslib4.MinkowskiSpacetime` -- [**Definition 343**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:lorentzian-spacetime) — Lorentzian Spacetime · `Physicslib4.Spacetime.LorentzianSpacetime` -- [**Lemma 344**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:lorentzian-causal-lifts) — Bundled Spacelike Separation and Basis Openness · `Physicslib4.Spacetime.LorentzianSpacetime.isCompletelySpacelike_comm` (+1 more) -- [**Lemma 345**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-nbhd-univ-of-no-diamond) — No-Diamond Points Have Only the Whole Space as Neighbourhood · `Physicslib4.Spacetime.alexandrov_nbhd_univ_of_no_diamond` -- [**Lemma 346**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-covering-hausdorff) — Covering from the Hausdorff Assumption · `Physicslib4.Spacetime.LorentzianSpacetime.sUnion_alexandrovBasis_eq_univ` -- [**Theorem 347**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:alexandrov-topological-basis) — The Alexandrov Diamonds Form a Topological Basis · `Physicslib4.Spacetime.LorentzianSpacetime.isTopologicalBasis_alexandrovBasis` -- [**Lemma 348**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-past-between) — Past Interpolation on Standard Minkowski · `Physicslib4.Spacetime.exists_past_between_standardMinkowski` -- [**Lemma 349**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-future-between) — Future Interpolation on Standard Minkowski · `Physicslib4.Spacetime.exists_future_between_standardMinkowski` -- [**Lemma 350**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-diamonds-downward-directed) — Standard Minkowski Diamonds Are Downward-Directed · `Physicslib4.Spacetime.alexandrovBasis_exists_subset_inter_standardMinkowski` -- [**Lemma 351**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-exists-common-past) — Common Chronological Predecessor on Standard Minkowski · `Physicslib4.Spacetime.exists_common_past` -- [**Lemma 352**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-exists-common-future) — Common Chronological Successor on Standard Minkowski · `Physicslib4.Spacetime.exists_common_future` -- [**Lemma 353**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-diamonds-upward-directed) — Standard Minkowski Diamonds Are Upward-Directed · `Physicslib4.Spacetime.alexandrovBasis_directed` -- [**Theorem 354**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-alexandrov-basis) — The Alexandrov Diamonds are a Basis on Standard Minkowski · `Physicslib4.Spacetime.isTopologicalBasis_alexandrovBasis_standardMinkowski` - -**§10.4.4 Dilations are causal automorphisms but not isometries (p. 254)** - -- [**Lemma 355**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-dilation-cone) — Dilations Preserve the Minkowski Cones · `Physicslib4.minkowskiForwardCone_smul` (+1 more) -- [**Theorem 356**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-dilation-causal-automorphism) — Dilations are Causal Automorphisms · `Physicslib4.alexandrovBasis_image_smul` -- [**Theorem 357**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-dilation-not-isometry) — Dilations are Not Isometries · `Physicslib4.minkowskiForm_smul` (+1 more) - -**§10.4.5 Isometries and basis-set preservation (p. 255)** - -- [**Lemma 358**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-classification) — Isometries Preserve the Causal Classification · `Physicslib4.Spacetime.Isometry.preserves_self` (+3 more) -- [**Lemma 359**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:path-parameter-unique-diff) — Unique Differentials Along a Path · `Physicslib4.Spacetime.Path.uniqueDiffOn_parameterSpace` -- [**Lemma 360**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pushforward-path) — Pushforward of a Path Under an Isometry · `Physicslib4.Spacetime.Isometry.pushforwardPath` (+5 more) -- [**Lemma 361**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-chronology) — Isometries Preserve Chronology · `Physicslib4.Spacetime.Isometry.PreservesFutureOrientation` (+8 more) -- [**Lemma 362**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-basis-sets) — Isometries Preserve Basis Sets · `Physicslib4.Spacetime.Isometry.futureOrientationPreserving` (+8 more) -- [**Lemma 363**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:axiom5-basis-preservation) — Axiom 5 Basis-Set Preservation · `Physicslib4.Spacetime.LorentzianSpacetime.toAbstractIdentityComponent_isBasisSet_smul` - -**§10.4.6 Pullback metrics and cross-metric isometries (p. 256)** - -- [**Definition 364**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:pullback-metric) — Pullback of a Spacetime Metric · `Physicslib4.Spacetime.bilinearPrecomp` (+3 more) -- [**Lemma 365**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-diffeo-linear-equiv) — The Differential of a Diffeomorphism is a Linear Equivalence · `Physicslib4.Spacetime.Diffeo` (+4 more) -- [**Lemma 366**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-symm-cancel-left) — Round-Trip Cancellation: $$d\psi$$ After $$d(\psi^{-1})$$ · `Physicslib4.Spacetime.mfderiv_symm_cancel_left` -- [**Lemma 367**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-symm-cancel-right) — Round-Trip Cancellation: $$d(\psi^{-1})$$ After $$d\psi$$ · `Physicslib4.Spacetime.mfderiv_symm_cancel_right` -- [**Lemma 368**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-inverse-eq-symm) — The Formal Inverse of $$d\psi_x$$ is the Inverse Equivalence · `Physicslib4.Spacetime.inverse_mfderiv_eq_symm` (+2 more) -- [**Lemma 369**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-symm) — The Pullback Metric is Symmetric · `Physicslib4.Spacetime.pullbackVal_symm` -- [**Lemma 370**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-nondegenerate) — The Pullback Metric is Non-Degenerate · `Physicslib4.Spacetime.pullbackVal_nondegenerate` -- [**Lemma 371**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-lorentzian) — The Pullback Metric is Lorentzian · `Physicslib4.Spacetime.pullbackVal_lorentzian` -- [**Lemma 372**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-smooth-in-charts) — The Pullback Metric is a Smooth Section of the Bilinear-Form Bundle · `Physicslib4.Spacetime.pullbackVal_contMDiff` -- [**Theorem 373**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pullback-is-spacetime) — The Pullback of a Spacetime is a Spacetime · `Physicslib4.Spacetime.pullback` (+4 more) -- [**Definition 374**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:preserves-future-orientation) — Two-Sided Preservation of Future Orientation · `Physicslib4.Spacetime.PreservesFutureOrientation` (+1 more) -- [**Lemma 375**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mpullback-vectorField-contMDiff-of-diffeo) — The Pullback of a Bundle-Smooth Vector Field Along a Diffeomorphism is Bundle-Smooth · `Physicslib4.Spacetime.contMDiff_mpullback_vectorField` -- [**Lemma 376**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation-ne-zero) — The Pullback Time Orientation is Nowhere Vanishing · `Physicslib4.Spacetime.mpullback_field_ne_zero` -- [**Lemma 377**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation-timelike) — The Pullback Time Orientation is Everywhere Timelike · `Physicslib4.Spacetime.pullbackVal_mpullback_field_self` (+1 more) -- [**Lemma 378**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation) — Pullback of a Time Orientation · `Physicslib4.Spacetime.pullbackTimeOrientation` (+1 more) -- [**Lemma 379**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-future-pointing-timelike) — Transport of Future-Pointing Timelike Vectors · `Physicslib4.Spacetime.pullbackVal_mpullback_field_apply` (+1 more) -- [**Lemma 380**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-future-pointing-null) — Transport of Future-Pointing Null Vectors · `Physicslib4.Spacetime.isFuturePointing_pullback_iff_of_isNull` -- [**Lemma 381**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-preserves-future-orientation) — The Pullback Preserves the Future Orientation Two-Sidedly · `Physicslib4.Spacetime.pullback_preservesFutureOrientationTwoSided` -- [**Definition 382**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:cross-metric-isometry) — Isometry Between Two Metrics on One Manifold · `Physicslib4.Spacetime.CrossIsometry` (+4 more) -- [**Lemma 383**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-symm) — The Inverse of a Cross-Metric Isometry is a Cross-Metric Isometry · `Physicslib4.Spacetime.CrossIsometry.symm_preserves` (+1 more) -- [**Lemma 384**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-classification) — Cross-Metric Isometries Preserve the Causal Classification · `Physicslib4.Spacetime.CrossIsometry.preserves_self` (+3 more) -- [**Lemma 385**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-tangent) — The Tangent Chain Rule Along a Path · `Physicslib4.Spacetime.mfderivWithin_comp_diffeo` (+1 more) -- [**Lemma 386**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path) — Pushforward of a Path Under a Cross-Metric Isometry · `Physicslib4.Spacetime.pushforwardPath` (+2 more) -- [**Lemma 387**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-causal) — The Pushforward Preserves the Timelike and Causal Conditions · `Physicslib4.Spacetime.CrossIsometry.pushforwardPath_isTimelike` (+1 more) -- [**Lemma 388**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-endpoints) — The Pushforward Transports Endpoints · `Physicslib4.Spacetime.pushforwardPath_isPastEndpoint` (+1 more) -- [**Lemma 389**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-chronology) — Cross-Metric Isometries Transport Chronological Precedence · `Physicslib4.Spacetime.pushforwardPath_isFutureOriented` (+2 more) -- [**Lemma 390**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-chronological-future-image) — Image of the Chronological Future · `Physicslib4.Spacetime.CrossIsometry.chronologicalFuture_image` -- [**Lemma 391**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-chronological-past-image) — Image of the Chronological Past · `Physicslib4.Spacetime.CrossIsometry.chronologicalPast_image` -- [**Lemma 392**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-basis-sets) — Cross-Metric Isometries Preserve Basis Sets · `Physicslib4.Spacetime.CrossIsometry.alexandrovDiamond_image` (+1 more) -- [**Lemma 393**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:bijection-generated-topology-homeomorphism) — A Bijection Matching Generating Families is a Homeomorphism · `Physicslib4.continuous_generateFrom_of_preimage_mem` (+4 more) -- [**Lemma 394**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-alexandrov-homeomorphism) — The Pullback Alexandrov Topology · `Physicslib4.Spacetime.pullback_alexandrovBasis_image` (+3 more) -- [**Theorem 395**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pullback-is-lorentzian-spacetime) — The Pullback of a Lorentzian Spacetime is a Lorentzian Spacetime · `Physicslib4.Spacetime.LorentzianSpacetime.pullback_alexandrov_t2` (+3 more) - -### §10.5 Haag–Kastler Axioms in Minkowski spacetime (pp. 269–307) - -**§10.5 The axioms (p. 269)** - -- [**Definition 396**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-algebras) — Axiom 1: Local Algebras · `Physicslib4.AQFT.HaagKastler.LocalNet` -- [**Definition 397**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isotony) — Axiom 2: Isotony · `Physicslib4.AQFT.HaagKastler.Isotony` - -**§10.5.1 The Quasilocal Colimit (p. 270)** - -- [**Lemma 398**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-diamonds-isDirected) — Alexandrov Diamonds are Directed under Inclusion · `Physicslib4.AQFT.HaagKastler.Diamond` (+2 more) -- [**Lemma 399**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isotony-directed-system) — The Isotony Family is a Directed System · `Physicslib4.AQFT.HaagKastler.transitionHom` (+1 more) -- [**Lemma 400**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-norm-well-defined) — The Colimit Norm is Well Defined · `Physicslib4.AQFT.HaagKastler.QuasilocalColimit` (+3 more) -- [**Lemma 401**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-common-representatives) — Common Representatives for Two Colimit Elements · `Physicslib4.AQFT.HaagKastler.exists_common_representatives` -- [**Lemma 402**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-norm-axioms) — The Colimit Norm is a Ring Norm and a Normed-Space Norm · `Physicslib4.AQFT.HaagKastler.instNonemptyDiamond` (+3 more) -- [**Lemma 403**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-union-normed-star-algebra) — The Quasilocal Union is a Normed \*-Algebra · `Physicslib4.AQFT.HaagKastler.norm_eq_colimitNorm` (+1 more) -- [**Lemma 404**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-cstar-identity) — The Colimit Satisfies the C\*-Inequality · `Physicslib4.AQFT.HaagKastler.colimitCStarRing` -- [**Definition 405**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completion-standing-hypotheses) — Standing Hypotheses for the Completion Results · `Physicslib4.CStarCompletion` -- [**Definition 406**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completion-star) — The Involution on a Completion · `Physicslib4.instStarCompletion` (+1 more) -- [**Lemma 407**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:star-extends-to-completion) — The Involution Extends to the Completion · `Physicslib4.instStarRingCompletion` (+1 more) -- [**Lemma 408**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-coe-star-alg-hom) — The Completion Coercion as a Bundled \*-Algebra Homomorphism · `Physicslib4.coeStarAlgHom` -- [**Lemma 409**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-cstar-identity) — The C\*-Inequality Passes to the Completion · `Physicslib4.instCStarRingCompletion` -- [**Lemma 410**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-normed-algebra) — The Completion is a Normed $$\mathbb{C}$$-Algebra · `Physicslib4.instNormedAlgebraCompletion` -- [**Lemma 411**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-of-cstar-normed-star-algebra) — The Completion of a C\*-Normed \*-Algebra is a C\*-Algebra · `Physicslib4.instCStarAlgebraCompletion` -- [**Lemma 412**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-completion-cstar) — The Completion of the Quasilocal Colimit is a C\*-Algebra · `Physicslib4.AQFT.HaagKastler.QuasilocalCompletion` (+1 more) -- [**Definition 413**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-algebra) — Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.QuasilocalAlgebra` -- [**Definition 414**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-commutativity) — Axiom 3: Local Commutativity · `Physicslib4.AQFT.HaagKastler.LocalCommutativity` -- [**Lemma 415**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:local-commutativity-any-quasilocal) — Local Commutativity Holds in Every Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.LocalCommutativity.commute_ι` (+1 more) -- [**Definition 416**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-observable) — Quasilocal Observable · `Physicslib4.AQFT.HaagKastler.IsQuasilocalObservable` -- [**Definition 417**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-completeness) — Axiom 4: Quasilocal Completeness · `Physicslib4.AQFT.HaagKastler.ObservableCorrespondence` -- [**Theorem 418**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-algebra-exists) — Existence of a Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.exists_quasilocalAlgebra` -- [**Lemma 419**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding) — The Canonical Embeddings into the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.colimitStarOf` (+1 more) -- [**Lemma 420**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding-injective) — The Canonical Embeddings are Injective · `Physicslib4.AQFT.HaagKastler.quasilocalEmbedding_injective` -- [**Lemma 421**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding-cocone) — The Canonical Embeddings Form a Cocone · `Physicslib4.AQFT.HaagKastler.quasilocalEmbedding_transitionHom` -- [**Lemma 422**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-union-of-insertions) — The Colimit is the Union of the Images of its Insertions · `Physicslib4.AQFT.HaagKastler.exists_eq_colimitStarOf` -- [**Lemma 423**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embeddings-dense) — The Images of the Canonical Embeddings are Dense · `Physicslib4.AQFT.HaagKastler.dense_iUnion_range_quasilocalEmbedding` -- [**Theorem 424**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-strongly-dense) — Quasilocal Observables are Strongly Dense in the Bicommutant · `Physicslib4.AQFT.HaagKastler.dense_range_in_bicommutant` — **the one Chapter 10 node whose proof is not formalised**: the statement is formalised, the proof is a deliberate `sorry` with a **Restriction:** note (see [Formalisation status](#formalisation-status)) -- [**Definition 425**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:lorentz-covariance) — Axiom 5: Lorentz Covariance · `Physicslib4.AQFT.HaagKastler.LorentzCovariance` -- [**Definition 426**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:haag-kastler-net) — Haag–Kastler Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet` - -**§10.5.2 Einstein Causality (p. 288)** - -- [**Theorem 427**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:einstein-causality) — Einstein Causality in a Representation · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.einstein_causality` (+1 more) - -**§10.5.3 Local von Neumann Algebras (p. 288)** - -- [**Definition 428**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann) — Local von Neumann Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localOperators` (+1 more) -- [**Lemma 429**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:bicommutant-of-selfadjoint-is-von-neumann) — The Bicommutant of a Self-Adjoint Set is a von Neumann Algebra · `Physicslib4.GNS.vonNeumannOfSelfAdjoint` -- [**Definition 430**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-algebra) — $$R(\mathbf{B})$$ as a von Neumann Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra` -- [**Theorem 431**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-microcausality) — Microcausality at the von Neumann Level · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_subset_centralizer` -- [**Theorem 432**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-isotony) — Isotony of the von Neumann Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_mono` -- [**Theorem 433**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-bundled-order) — Bundled von Neumann Microcausality and Isotony · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_le_commutant` (+1 more) -- [**Definition 434**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-net) — The Net of von Neumann Algebras · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.vonNeumannNet` -- [**Theorem 435**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence) — Statistical Independence (Schlieder Property) · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_separating` (+1 more) -- [**Theorem 436**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-bundled) — Statistical Independence, bundled · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_separating` -- [**Theorem 437**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:additive-free-locality) — Additive-Free Locality via the Spacelike Complement · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_le_commutant_of_subset_spacelikeComplement` -- [**Theorem 438**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-geometric-covariance) — Geometric Covariance of the von Neumann Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.lieConj_image_localVonNeumann` (+1 more) -- [**Theorem 439**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-factor-orbit) — Orbit-Invariance of Factoriality · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_isFactor_smul` -- [**Theorem 440**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-covariance-iso) — Geometric Covariance as a von Neumann Algebra Isomorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannEquiv` - -**§10.5.4 Relative Commutants of Nested Local Algebras (p. 291)** - -- [**Definition 441**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:relative-commutant) — Relative Commutant of a Nested Pair · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant` -- [**Theorem 442**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-antitone) — Antitonicity of the Commutant · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.commutant_le_commutant_of_le` -- [**Theorem 443**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-le-right) — Relative Commutant Lies in the Larger Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant_le_right` -- [**Theorem 444**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-coe-commutant) — Relative Commutant Commutes with the Smaller Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant_coe_subset_commutant` -- [**Theorem 445**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-center) — Relative Commutant Contains the Centre · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.center_le_relativeCommutant` -- [**Definition 446**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-inclusion) — Irreducible Inclusion · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsIrreducibleInclusion` -- [**Theorem 447**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-inclusion-factor) — An Irreducible Inclusion has Factor Ambient · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isFactor_of_isIrreducibleInclusion` -- [**Theorem 448**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:self-inclusion-factor) — Self-Inclusion is Irreducible iff Factor · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isIrreducibleInclusion_self_iff_isFactor` - -**§10.5.5 Irreducibility and Schur's Lemma (p. 292)** - -- [**Definition 449**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-representation) — Irreducible Representation · `Physicslib4.GNS.IsIrreducible` -- [**Theorem 450**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:schur-lemma) — Topological Schur Lemma · `Physicslib4.GNS.eq_smul_one_of_commute_of_cyclic` -- [**Theorem 451**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-scalar-iff) — Commutant Scalar iff Proportional Coefficient · `Physicslib4.GNS.isScalar_iff_coeff_proportional` -- [**Definition 452**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:pure-state) — Pure State · `Physicslib4.GNS.IsPure` -- [**Theorem 453**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-implies-irreducible) — Pure Implies Irreducible · `Physicslib4.GNS.isIrreducible_of_isPure` -- [**Theorem 454**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-form-bound) — The GNS Radon–Nikodym Form is Bounded · `Physicslib4.GNS.gns_form_norm_le` (+1 more) -- [**Theorem 455**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-radon-nikodym-operator) — The GNS Radon–Nikodym Operator · `Physicslib4.GNS.rnOp` (+3 more) -- [**Theorem 456**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible) — Pure $$\iff$$ Irreducible · `Physicslib4.GNS.isPure_iff_isIrreducible` -- [**Theorem 457**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-factor) — An Irreducible Representation Generates a Factor · `Physicslib4.GNS.center_gnsVonNeumann_eq_of_isIrreducible` -- [**Theorem 458**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-generates-all) — Irreducibility $$\iff$$ Generating $$\mathcal{B}(H)$$ · `Physicslib4.GNS.isIrreducible_iff_gnsVonNeumann_eq_univ` (+1 more) -- [**Theorem 459**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-generates-all-bundled) — Bundled Density Form of Irreducibility · `Physicslib4.GNS.coe_gnsVonNeumannAlgebra_eq_univ_of_isIrreducible` (+1 more) -- [**Theorem 460**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-factor) — The GNS Representation of a Pure State is a Factor · `Physicslib4.GNS.exists_gns_factor_of_isPure` -- [**Theorem 461**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-generates-all) — The GNS Representation of a Pure State Generates $$\mathcal{B}(H)$$ · `Physicslib4.GNS.exists_gns_generates_all_of_isPure` -- [**Theorem 462**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:norm-positive-functional) — Norm of a Positive Functional · `Physicslib4.GNS.norm_eq_re_apply_one_of_positive` -- [**Definition 463**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:extreme-state) — Extreme Point of the State Space · `Physicslib4.GNS.State.IsExtremePoint` -- [**Theorem 464**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme) — Pure $$\iff$$ Extreme Point · `Physicslib4.GNS.isPure_iff_isExtremePoint` -- [**Theorem 465**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-space-convex-bridge) — State-Space Convexity and the Extreme-Point Bridge · `Physicslib4.GNS.convex_stateSpace` (+1 more) -- [**Definition 466**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:state-pullback) — Pullback of a State · `Physicslib4.GNS.State.comp` -- [**Theorem 467**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-pullback-functorial) — Functoriality of the State Pullback · `Physicslib4.GNS.State.comp_id` (+1 more) -- [**Theorem 468**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-pullback-invariant) — Purity is Invariant under a \*-Isomorphism · `Physicslib4.GNS.isPure_comp_iff` -- [**Theorem 469**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-space-weak-compact) — Weak-\* Compactness of the State Space · `Physicslib4.GNS.isCompact_weakStateSet` -- [**Theorem 470**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme-quasilocal) — Pure $$\iff$$ Extreme Point on the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.pure_iff_extreme` -- [**Theorem 471**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible-quasilocal) — Pure $$\iff$$ Irreducible GNS on the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.exists_gns_pure_iff_irreducible` - -**§10.5.6 Unitary Equivalence and Superselection (p. 296)** - -- [**Definition 472**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:unitary-equivalence) — Unitary Equivalence of Representations · `Physicslib4.GNS.UnitaryEquiv` -- [**Theorem 473**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:unitary-equiv-invariants) — Irreducibility and Factoriality are Unitary Invariants · `Physicslib4.GNS.UnitaryEquiv.isIrreducible_iff` (+1 more) - -**§10.5.7 GNS Covariance (p. 296)** - -- [**Lemma 474**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cyclic-pullback-surjective) — Cyclicity pulls back along a surjective \*-homomorphism · `Physicslib4.GNS.isCyclicVector_comp_of_surjective` -- [**Theorem 475**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance) — GNS covariance under a \*-isomorphism · `Physicslib4.GNS.exists_unitary_of_gns_comp` -- [**Theorem 476**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-unitary-equiv) — The GNS representation of a pullback state · `Physicslib4.GNS.unitaryEquiv_comp_of_gns` -- [**Lemma 477**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-image-invariants) — Pullback along a surjection preserves the image algebra · `Physicslib4.GNS.range_comp_of_surjective` (+2 more) -- [**Theorem 478**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-sector-transport) — Superselection type transports along a \*-isomorphism · `Physicslib4.GNS.isIrreducible_iff_of_gns_comp` (+1 more) -- [**Theorem 479**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-local) — GNS covariance for local algebras · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.unitaryEquiv_gns_covEquiv` (+2 more) - -**§10.5.8 Disjointness and Quasi-Equivalence (p. 298)** - -- [**Definition 480**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:disjoint-representations) — Disjoint Representations · `Physicslib4.GNS.AreDisjoint` -- [**Definition 481**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasi-equivalence) — Quasi-Equivalence of Representations · `Physicslib4.GNS.QuasiEquiv` -- [**Theorem 482**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-dichotomy) — Schur's Lemma and the Irreducible Dichotomy · `Physicslib4.GNS.UnitaryEquiv.of_intertwines_of_isIrreducible` (+1 more) -- [**Lemma 483**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:schur-multiplicity) — Schur Multiplicity · `Physicslib4.GNS.eq_smul_of_intertwines_of_isIrreducible` -- [**Lemma 484**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:endomorphism-scalar) — Endomorphism Algebra of an Irreducible Representation · `Physicslib4.GNS.intertwines_self_iff_isScalar` -- [**Theorem 485**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-von-neumann) — The commutant (self-intertwiner) von Neumann algebra · `Physicslib4.GNS.commutantVonNeumann` (+2 more) -- [**Theorem 486**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:double-commutant-duality) — Double-Commutant Duality · `Physicslib4.GNS.commutant_gnsVonNeumannAlgebra` (+1 more) -- [**Theorem 487**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-factor-duality) — A Factor and its Commutant; Triviality Duality · `Physicslib4.GNS.isFactor_gnsVonNeumann_iff_isFactor_commutant` (+1 more) -- [**Lemma 488**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-abelian-self-commuting) — Abelian $$\iff$$ Self-Commuting · `Physicslib4.GNS.isAbelian_iff_le_commutant` -- [**Definition 489**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-center) — Centre of a von Neumann algebra · `Physicslib4.GNS.vonNeumannCenter` -- [**Lemma 490**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-inter-is-von-neumann) — The centre is a von Neumann algebra · `Physicslib4.GNS.bicommutant_inter_commutant_eq` -- [**Lemma 491**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-inter-general) — The intersection of two von Neumann algebras is a von Neumann algebra · `Physicslib4.GNS.bicommutant_inter_eq` -- [**Theorem 492**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-center-abelian) — The centre of a von Neumann algebra is abelian · `Physicslib4.GNS.vonNeumannCenter_isAbelian` -- [**Lemma 493**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-center-eq-self-iff-abelian) — $$R$$ is abelian iff it equals its centre · `Physicslib4.GNS.vonNeumannCenter_eq_self_iff_isAbelian` -- [**Theorem 494**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:factor-abelian-iff-scalars) — A factor is abelian iff it is the scalars · `Physicslib4.GNS.isAbelian_iff_eq_scalars_of_isFactor` -- [**Theorem 495**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:center-eq-commutant-center) — A von Neumann algebra and its commutant share a centre · `Physicslib4.GNS.vonNeumannCenter_eq_commutant` -- [**Theorem 496**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:factor-iff-center-scalars) — A von Neumann algebra is a factor iff its centre is the scalars · `Physicslib4.GNS.isFactor_iff_center_eq_scalars` -- [**Theorem 497**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-state-dichotomy) — The Pure-State Dichotomy · `Physicslib4.GNS.exists_gns_areDisjoint_or_unitaryEquiv_of_isPure` - -**§10.5.9 Direct Sums, Amplification, and Reducibility (p. 301)** - -- [**Definition 498**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:direct-sum-representation) — Direct-Sum Representation · `Physicslib4.GNS.directSum` -- [**Theorem 499**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:direct-sum-subrepresentation) — Subrepresentations and Commutant of a Direct Sum · `Physicslib4.GNS.intertwines_single` (+1 more) -- [**Definition 500**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:amplification) — Amplification · `Physicslib4.GNS.amplification` -- [**Theorem 501**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:direct-sum-reducible) — Reducibility of a Direct Sum · `Physicslib4.GNS.not_isIrreducible_directSum` - -**§10.5.10 Covariant States and the Covariance Action (p. 301)** - -- [**Definition 502**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-state-family) — Covariant Family of Local States · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsCovariantFamily` -- [**Lemma 503**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:covariant-state-family-compose) — Composition of Covariance · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsCovariantFamily.comp` -- [**Definition 504**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-lift) — Quasilocal Covariance Automorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.QuasilocalLift` -- [**Lemma 505**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-lift-unique) — Uniqueness of the Quasilocal Lift · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.QuasilocalLift.unique` -- [**Lemma 506**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-covariance-compatible) — Every Quasilocal Algebra is Covariance-Compatible · `Physicslib4.AQFT.HaagKastler.isCovariantQuasilocal` -- [**Theorem 507**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-lift-exists) — Existence of the Quasilocal Lift · `Physicslib4.AQFT.HaagKastler.nonempty_quasilocalLift` -- [**Theorem 508**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-lift-trivial) — Existence for the Trivial Net · `Physicslib4.AQFT.HaagKastler.nonempty_trivialQuasilocalLift` -- [**Definition 509**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-quasilocal-algebra) — Covariant Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.action` -- [**Lemma 510**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-action-coherence) — Group-Action Coherence of the Covariance Automorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.action_one` (+1 more) -- [**Definition 511**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:invariant-state) — Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState` -- [**Theorem 512**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:invariant-state-gns-unitary) — GNS Unitary Implementation of an Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState.exists_gns_unitary` -- [**Theorem 513**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-covariant-representation) — Irreducible Covariant Representation of a Pure Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState.exists_gns_irreducible_covariant` -- [**Definition 514**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:positive-energy) — Positive Energy (bounded-generator scaffold) · `Physicslib4.AQFT.IsPositiveEnergy` -- [**Theorem 515**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:positive-energy-api) — Positive-Energy API · `Physicslib4.AQFT.isPositiveEnergy_const_refl` (+3 more) -- [**Definition 516**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:vacuum-state) — Vacuum State (generator-parameterised scaffold) · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumState` -- [**Theorem 517**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:vacuum-no-stone) — No-Stone Consequences of a Vacuum State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumState.invariant` (+1 more) -- [**Definition 518**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:future-timelike-translation) — Future-Timelike Translation Subgroup · `Physicslib4.AQFT.HaagKastler.translationSub` (+3 more) -- [**Definition 519**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:vacuum-state-concrete) — Vacuum State with the Concrete Spectrum Condition · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumStateConcrete` -- [**Theorem 520**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:purity-covariance-invariant) — Purity is Covariance-Invariant · `Physicslib4.GNS.isPure_precomp_iff` (+1 more) -- [**Theorem 521**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-quasilocal-action) — GNS covariance along the quasilocal action · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.unitaryEquiv_gns_action` (+2 more) - -**§10.5.11 The Separating Vector of a Faithful State (p. 304)** - -- [**Theorem 522**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:separating-faithful) — Separating Vector of a Faithful State · `Physicslib4.GNS.separating_of_faithful` (+1 more) - -**§10.5.12 The KMS Condition and Thermal Equilibrium (p. 305)** - -- [**Definition 523**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:one-parameter-aut) — One-Parameter Automorphism Group · `Physicslib4.AQFT.IsOneParameterAut` -- [**Definition 524**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state) — KMS State · `Physicslib4.AQFT.IsKMSState` -- [**Theorem 525**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex) — The KMS State Set is Convex · `Physicslib4.AQFT.IsKMSState.convexCombo` -- [**Lemma 526**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:kms-correlation-one) — Boundary Coincidence for $$a = 1$$ · `Physicslib4.AQFT.IsKMSState.correlationOne` -- [**Definition 527**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:strip-liouville) — Strip-Liouville Principle · `Physicslib4.AQFT.StripLiouville` -- [**Theorem 528**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-periodic-extension) — $$i\beta$$-Periodic Entire Extension (Strip Schwarz Reflection) · `Physicslib4.exists_bounded_entire_extension_of_strip_periodic` -- [**Theorem 529**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-liouville-pos) — Strip-Liouville Holds for $$\beta > 0$$ · `Physicslib4.AQFT.stripLiouville_of_pos` -- [**Theorem 530**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-invariance) — KMS States are Invariant · `Physicslib4.AQFT.IsKMSState.invariant_of_pos` -- [**Theorem 531**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-uniqueness) — Uniqueness on the Strip from Boundary Values · `Physicslib4.eqOn_strip_of_eq_boundary` -- [**Theorem 532**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-correlation-unique) — Uniqueness of the KMS Correlation Function · `Physicslib4.AQFT.IsKMSState.correlation_eqOn` - -**§10.5.13 KMS States for the Covariance Flow (p. 306)** - -- [**Definition 533**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:flow-aut-covariance) — Covariance-Flow Automorphism Family · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.flowAut` -- [**Lemma 534**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:one-parameter-aut-flow-covariance) — A Lorentz One-Parameter Subgroup Induces a One-Parameter Group · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isOneParameterAut_flowAut` -- [**Definition 535**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state-for-flow-covariance) — KMS State for the Covariance Flow · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsKMSStateForFlow` -- [**Theorem 536**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex-for-flow-covariance) — Convexity of the Covariance-Flow KMS States · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsKMSStateForFlow.convexCombo` -- [**Definition 537**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:ground-state-for-flow-covariance) — Ground State for a Covariance Flow · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsGroundStateForFlow` (+2 more) - -### §10.6 Haag–Kastler Axioms in curved spacetime (pp. 307–317) - -**§10.6 The axioms (p. 307)** - -- [**Definition 538**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-algebras-in-curved-spacetime) — Axiom 1: Local Algebras · `Physicslib4.AQFT.HaagKastlerCurved.LocalNet` -- [**Definition 539**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isotony-in-curved-spacetime) — Axiom 2: Isotony · `Physicslib4.AQFT.HaagKastlerCurved.Isotony` -- [**Definition 540**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-commutativity-in-curved-spacetime) — Axiom 3: Local Commutativity · `Physicslib4.AQFT.HaagKastlerCurved.LocalCommutativity` -- [**Definition 541**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-observable) — Local Observable · `Physicslib4.AQFT.HaagKastlerCurved.IsLocalObservable` -- [**Definition 542**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-completeness-in-curved-spacetime) — Axiom 4: Local Completeness · `Physicslib4.AQFT.HaagKastlerCurved.LocalAlgebra` -- [**Definition 543**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isometric-covariance-in-curved-spacetime) — Axiom 5: Isometric Covariance · `Physicslib4.AQFT.HaagKastlerCurved.IsometricCovariance` *(implemented via the explicitly orientation-preserving subgroup — see [Formalisation status](#formalisation-status))* -- [**Definition 544**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:haag-kastler-net-in-curved-spacetime) — Haag–Kastler Net in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet` - -**§10.6.1 Einstein Causality in Curved Spacetime (p. 309)** - -- [**Theorem 545**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:einstein-causality-in-curved-spacetime) — Einstein Causality in a Representation (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.einstein_causality` (+1 more) - -**§10.6.2 Local von Neumann Algebras in Curved Spacetime (p. 310)** - -- [**Definition 546**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-in-curved-spacetime) — Local von Neumann Algebra in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localOperators` (+1 more) -- [**Definition 547**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-algebra-in-curved-spacetime) — $$R(\mathbf{B}')$$ as a von Neumann Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra` -- [**Theorem 548**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-microcausality-in-curved-spacetime) — Microcausality at the von Neumann Level (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_subset_centralizer` -- [**Theorem 549**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-isotony-in-curved-spacetime) — Isotony of the von Neumann Net (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_mono` -- [**Theorem 550**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-bundled-order-in-curved-spacetime) — Bundled von Neumann Microcausality and Isotony (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_le_commutant` (+1 more) -- [**Definition 551**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-net-in-curved-spacetime) — The Net of von Neumann Algebras in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.vonNeumannNet` -- [**Theorem 552**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-in-curved-spacetime) — Statistical Independence (Schlieder Property) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_separating` (+1 more) -- [**Theorem 553**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-bundled-in-curved-spacetime) — Statistical Independence, bundled (curved spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_separating` -- [**Theorem 554**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:additive-free-locality-in-curved-spacetime) — Additive-Free Locality via the Spacelike Complement (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_le_commutant_of_subset_spacelikeComplement_geometric` -- [**Theorem 555**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-geometric-covariance-in-curved-spacetime) — Geometric Covariance of the von Neumann Net (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.lieConj_image_localVonNeumann` (+2 more) -- [**Theorem 556**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-factor-orbit-in-curved-spacetime) — Orbit-Invariance of Factoriality (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_isFactor_smul` -- [**Theorem 557**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-covariance-iso-in-curved-spacetime) — Geometric Covariance as a von Neumann Algebra Isomorphism (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannEquiv` - -**§10.6.3 Relative Commutants of Nested Local Algebras in Curved Spacetime (p. 312)** - -- [**Definition 558**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:relative-commutant-in-curved-spacetime) — Relative Commutant of a Nested Pair (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant` -- [**Theorem 559**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-le-right-in-curved-spacetime) — Relative Commutant Lies in the Larger Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant_le_right` -- [**Theorem 560**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-coe-commutant-in-curved-spacetime) — Relative Commutant Commutes with the Smaller Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant_coe_subset_commutant` -- [**Theorem 561**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-center-in-curved-spacetime) — Relative Commutant Contains the Centre (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.center_le_relativeCommutant` -- [**Definition 562**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-inclusion-in-curved-spacetime) — Irreducible Inclusion (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsIrreducibleInclusion` -- [**Theorem 563**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-inclusion-factor-in-curved-spacetime) — An Irreducible Inclusion has Factor Ambient (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isFactor_of_isIrreducibleInclusion` -- [**Theorem 564**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:self-inclusion-factor-in-curved-spacetime) — Self-Inclusion is Irreducible iff Factor (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isIrreducibleInclusion_self_iff_isFactor` -- [**Theorem 565**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:abelian-local-von-neumann-in-curved-spacetime) — Abelian Local von Neumann Algebras (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_center_isAbelian` (+1 more) -- [**Theorem 566**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:center-duality-local-von-neumann-in-curved-spacetime) — Centre Duality for Local von Neumann Algebras (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_center_eq_commutant` (+1 more) - -**§10.6.4 Purity of States on Local Algebras in Curved Spacetime (p. 313)** - -- [**Theorem 567**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme-in-curved-spacetime) — Pure $$\iff$$ Extreme Point on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.pure_iff_extreme` -- [**Theorem 568**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible-in-curved-spacetime) — Pure $$\iff$$ Irreducible GNS on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_pure_iff_irreducible` -- [**Theorem 569**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-factor-generates-in-curved-spacetime) — Pure GNS on a Local Algebra is a Factor Generating $$\mathcal{B}(H)$$ · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_factor_of_isPure` (+1 more) -- [**Theorem 570**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-dichotomy-in-curved-spacetime) — The Irreducible Dichotomy for a Curved Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.areDisjoint_or_unitaryEquiv_of_isIrreducible` -- [**Theorem 571**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-local-in-curved-spacetime) — GNS covariance for curved local algebras · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.unitaryEquiv_gns_covEquiv` (+2 more) - -**§10.6.5 Covariant States in Curved Spacetime (p. 314)** - -- [**Definition 572**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-state-family-in-curved-spacetime) — Covariant Family of Local States in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsCovariantFamily` -- [**Lemma 573**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:covariant-state-family-compose-in-curved-spacetime) — Composition of Covariance in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsCovariantFamily.comp` - -**§10.6.6 The Stabiliser GNS Unitary in Curved Spacetime (p. 314)** - -- [**Definition 574**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:stabilizer-action-in-curved-spacetime) — Stabiliser Action on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.stabAut` -- [**Lemma 575**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:stabilizer-action-laws-in-curved-spacetime) — The Stabiliser Action is a Group Action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.stabAut_one` (+1 more) -- [**Theorem 576**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-unitary-stabilizer-in-curved-spacetime) — GNS Unitary Representation of the Stabiliser · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_unitary_stabilizer` -- [**Theorem 577**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-unitary-stabilizer-strongly-continuous-in-curved-spacetime) — Strongly Continuous Stabiliser GNS Unitary · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_unitary_stabilizer_strongContinuous` -- [**Theorem 578**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-covariant-representation-in-curved-spacetime) — Irreducible Covariant Representation of a Pure Invariant State (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_irreducible_covariant_stabilizer` -- [**Theorem 579**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:purity-covariance-invariant-in-curved-spacetime) — Purity is Invariant under the Stabiliser Action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isPure_precomp_stabAut_iff` -- [**Theorem 580**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-stabilizer-action) — GNS covariance along the stabiliser action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.unitaryEquiv_gns_stabAut` (+2 more) - -**§10.6.7 KMS States for a Killing Flow (p. 316)** - -- [**Definition 581**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:flow-aut-in-curved-spacetime) — Killing-Flow Automorphism Family · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.flowAut` -- [**Lemma 582**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:one-parameter-aut-flow-in-curved-spacetime) — A Killing Flow Induces a One-Parameter Group · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isOneParameterAut_flowAut` -- [**Definition 583**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state-for-flow-in-curved-spacetime) — KMS State for a Killing Flow · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow` -- [**Theorem 584**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-thermal-representation-in-curved-spacetime) — The Killing-Flow KMS Thermal Representation · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow.exists_gns_unitary_strongContinuous` -- [**Theorem 585**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex-for-flow-in-curved-spacetime) — Convexity of the Killing-Flow KMS States · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow.convexCombo` -- [**Definition 586**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:ground-state-for-flow-in-curved-spacetime) — Ground State for a Killing Flow · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsGroundStateForFlow` (+2 more) +- [**Definition 307**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:pseudo-riemannian-metric) — Pseudo-Riemannian Metric · `Physicslib4.Geometry.PseudoRiemannianMetric` (+1 more) +- [**Definition 308**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:metric-compatible-connection) — Covariant Derivative; Metric Compatibility · `Physicslib4.Geometry.CovariantDerivative.IsMetricCompatibleWith` +- [**Definition 309**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:levi-civita-connection) — Levi-Civita Connection · `Physicslib4.Geometry.CovariantDerivative.IsLeviCivitaFor` +- [**Lemma 310**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:musical-isomorphism) — Musical Isomorphism · `Physicslib4.Geometry.PseudoRiemannianMetric.bijective_val` +- [**Lemma 311**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:musical-inverse-smooth) — Smoothness of the Inverse Musical Isomorphism *(not yet formalised: no Lean declaration — see [Formalisation status](#formalisation-status))* +- [**Lemma 312**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:koszul-formula) — Koszul Formula · `Physicslib4.Geometry.CovariantDerivative.IsLeviCivitaFor.koszul` +- [**Lemma 313**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:koszul-expression-tensorial) — Tensoriality of the Koszul Expression · `Physicslib4.Geometry.PseudoRiemannianMetric.tensorialAt_koszulAux₁` (+2 more) +- [**Lemma 314**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:koszul-connection-is-covariant-derivative) — The Koszul Connection is a Covariant Derivative · `Physicslib4.Geometry.PseudoRiemannianMetric.isCovariantDerivativeOn_leviCivitaAux` +- [**Lemma 315**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:koszul-connection-is-levi-civita) — The Koszul Connection is Levi-Civita · `Physicslib4.Geometry.PseudoRiemannianMetric.isMetricCompatibleWith_koszulConnection` (+1 more) +- [**Theorem 316**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:levi-civita-exists-unique) — Existence and Uniqueness of the Levi-Civita Connection · `Physicslib4.Geometry.PseudoRiemannianMetric.exists_isLeviCivitaFor` (+3 more) +- [**Lemma 317**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:derivative-vanishes-along-path) — A Function Vanishing Along a Path has Zero Derivative Along It · `Physicslib4.Spacetime.SmoothPath.mfderiv_apply_tangent_eq_zero` +- [**Lemma 318**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:covariant-derivative-along-curve-local) — Covariant Derivative Along a Curve is Local · `Physicslib4.Spacetime.SmoothPath.covDeriv_eq_of_eventuallyEq` +- [**Lemma 319**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:local-vector-field-globalises) — Local Vector Fields Globalise · `Physicslib4.Spacetime.exists_contMDiff_vectorField_eventuallyEq` +- [**Lemma 320**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:path-local-left-inverse) — Local Left Inverse of a Smooth Path · `Physicslib4.Spacetime.SmoothPath.exists_localLeftInverse` +- [**Lemma 321**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:velocity-extends) — The Velocity of a Smooth Path Extends to a Vector Field · `Physicslib4.Spacetime.SmoothPath.exists_vectorField_eq_tangent` +- [**Definition 322**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:geodesic) — Geodesic · `Physicslib4.Spacetime.IsGeodesic` +- [**Definition 323**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:trip) — Trip · `Physicslib4.Spacetime.IsTripSegment` (+2 more) +- [**Definition 324**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-trip) — Causal Trip · `Physicslib4.Spacetime.IsCausalTripSegment` (+2 more) +- [**Theorem 325**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:precedence-transitive) — Transitivity of chronological and causal precedence · `Physicslib4.Spacetime.chronologicallyPrecedes_trans` (+1 more) +- [**Definition 326**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:no-closed-causal-curve) — No Closed Causal Curve (Causality Condition) · `Physicslib4.Spacetime.NoClosedCausalCurve` +- [**Theorem 327**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-order-refinements) — Irreflexivity and Antisymmetry under Causality · `Physicslib4.Spacetime.chronologicallyPrecedes_irrefl` (+2 more) +- [**Definition 328**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:chronological-future-and-chronological-past) — Chronological Future and Chronological Past · `Physicslib4.Spacetime.chronologicalFuture` (+3 more) +- [**Definition 329**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-future-and-causal-past) — Causal Future and Causal Past · `Physicslib4.Spacetime.causalFuture` (+3 more) +- [**Lemma 330**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:chronological-implies-causal) — Chronological Precedence Implies Causal Precedence · `Physicslib4.Spacetime.isCausal_of_isTimelike` (+3 more) +- [**Lemma 331**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:future-past-monotone) — Monotonicity of Futures and Pasts · `Physicslib4.Spacetime.chronologicalFutureSet_mono` (+3 more) + +**§10.4.1 Causal diamonds, spacelike complement, and causal closure (p. 244)** + +- [**Definition 332**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-diamond) — Causal and chronological diamonds · `Physicslib4.Spacetime.causalDiamond` (+3 more) +- [**Lemma 333**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-diamond-structure) — Structural properties of the causal diamond · `Physicslib4.Spacetime.causalDiamond_subset_of` (+2 more) +- [**Theorem 334**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-diamond-vs-chronological) — Chronological diamonds inside causal diamonds · `Physicslib4.Spacetime.chronologicalDiamond_subset_causalDiamond` (+1 more) +- [**Definition 335**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:spacelike-related) — Spacelike Related · `Physicslib4.Spacetime.IsSpacelikeRelated` +- [**Definition 336**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completely-spacelike) — Completely Spacelike · `Physicslib4.Spacetime.IsCompletelySpacelike` +- [**Lemma 337**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completely-spacelike-symm) — Symmetry of Spacelike Separation · `Physicslib4.Spacetime.isSpacelikeRelated_comm` (+1 more) +- [**Lemma 338**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completely-spacelike-structural) — Structural Properties of Complete Spacelike Separation · `Physicslib4.Spacetime.isCompletelySpacelike_mono` (+9 more) +- [**Definition 339**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:spacelike-complement) — Spacelike Complement of a Region · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement` +- [**Lemma 340**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:spacelike-complement-order) — Order Structure of the Spacelike Complement · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement_antitone` (+3 more) +- [**Definition 341**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-closure) — Causal closure operator · `Physicslib4.Spacetime.LorentzianSpacetime.causalClosure` +- [**Lemma 342**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-closure-is-closure-operator) — The Causal Closure is a Closure Operator · `Physicslib4.Spacetime.LorentzianSpacetime.causalClosure` (+1 more) +- [**Definition 343**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causally-complete-region) — Causally complete region · `Physicslib4.Spacetime.LorentzianSpacetime.IsCausallyComplete` +- [**Theorem 344**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causally-complete-lattice) — Lattice of causally complete regions · `Physicslib4.Spacetime.LorentzianSpacetime.CausallyCompleteRegion` (+8 more) +- [**Lemma 345**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:spacelike-complement-de-morgan) — De Morgan Laws for the Spacelike Complement · `Physicslib4.Spacetime.LorentzianSpacetime.spacelikeComplement_union` (+1 more) +- [**Theorem 346**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-complement-de-morgan) — De Morgan Laws for the Causal Complement · `Physicslib4.Spacetime.LorentzianSpacetime.causalComplement_antitone` (+6 more) + +**§10.4.2 Causal convexity (p. 248)** + +- [**Definition 347**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causally-convex-region) — Causally convex region · `Physicslib4.Spacetime.IsCausallyConvex` +- [**Lemma 348**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-diamond-causally-convex) — Causal diamonds are causally convex · `Physicslib4.Spacetime.causalDiamond_isCausallyConvex` +- [**Theorem 349**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causally-complete-convex) — Causally complete regions are causally convex · `Physicslib4.Spacetime.spacelikeComplement_isCausallyConvex` (+2 more) + +**§10.4.3 Causal convexity: closure structure, and the Alexandrov basis theorems (p. 249)** + +- [**Lemma 350**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causally-convex-closure-ops) — Causally convex regions form a closure system · `Physicslib4.Spacetime.isCausallyConvex_univ` (+4 more) +- [**Definition 351**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:causal-convex-hull) — Causal-convex hull · `Physicslib4.Spacetime.causalConvexHull` +- [**Lemma 352**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:causal-convex-hull-extensive) — The Causal-Convex Hull is Extensive and Causally Convex · `Physicslib4.Spacetime.subset_causalConvexHull` (+1 more) +- [**Theorem 353**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:causal-convex-hull-closure) — The causal-convex hull is a closure operator · `Physicslib4.Spacetime.causalConvexHull_minimal` (+3 more) +- [**Definition 354**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:alexandrov-topology) — Alexandrov Topology · `Physicslib4.Spacetime.alexandrovTopology` +- [**Lemma 355**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-basis-open) — Basis Sets Are Alexandrov-Open · `Physicslib4.Spacetime.isOpen_alexandrov_of_mem_basis` +- [**Lemma 356**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:chronological-future-past-open) — Openness of Chronological Futures and Pasts · `Physicslib4.Spacetime.isOpen_chronologicalFuture_inter_chronologicalPast` (+2 more) +- [**Lemma 357**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-chronological-open) — Unconditional Openness of Chronological Futures and Pasts on Standard Minkowski · `Physicslib4.exists_chronologicalFuture_standardMinkowski` (+5 more) +- [**Lemma 358**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-directional-derivative-levi-civita) — The Directional Derivative is Levi-Civita on Standard Minkowski · `Physicslib4.Geometry.PseudoRiemannianMetric.isLeviCivitaFor_flatConnection` (+2 more) +- [**Lemma 359**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-levi-civita-flat) — The Minkowski Levi-Civita Connection is Flat · `Physicslib4.standardMinkowski_leviCivita_apply` (+1 more) +- [**Lemma 360**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-lines-are-geodesics) — Straight Lines are Geodesics in Standard Minkowski · `Physicslib4.standardMinkowskiLineSegmentPath_isGeodesic` (+1 more) +- [**Definition 361**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:minkowski-spacetime) — Minkowski Spacetime · `Physicslib4.MinkowskiSpacetime` +- [**Definition 362**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:lorentzian-spacetime) — Lorentzian Spacetime · `Physicslib4.Spacetime.LorentzianSpacetime` +- [**Lemma 363**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:lorentzian-causal-lifts) — Bundled Spacelike Separation and Basis Openness · `Physicslib4.Spacetime.LorentzianSpacetime.isCompletelySpacelike_comm` (+1 more) +- [**Lemma 364**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-nbhd-univ-of-no-diamond) — No-Diamond Points Have Only the Whole Space as Neighbourhood · `Physicslib4.Spacetime.alexandrov_nbhd_univ_of_no_diamond` +- [**Lemma 365**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-covering-hausdorff) — Covering from the Hausdorff Assumption · `Physicslib4.Spacetime.LorentzianSpacetime.sUnion_alexandrovBasis_eq_univ` +- [**Theorem 366**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:alexandrov-topological-basis) — The Alexandrov Diamonds Form a Topological Basis · `Physicslib4.Spacetime.LorentzianSpacetime.isTopologicalBasis_alexandrovBasis` +- [**Lemma 367**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-past-between) — Past Interpolation on Standard Minkowski · `Physicslib4.Spacetime.exists_past_between_standardMinkowski` +- [**Lemma 368**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-future-between) — Future Interpolation on Standard Minkowski · `Physicslib4.Spacetime.exists_future_between_standardMinkowski` +- [**Lemma 369**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-diamonds-downward-directed) — Standard Minkowski Diamonds Are Downward-Directed · `Physicslib4.Spacetime.alexandrovBasis_exists_subset_inter_standardMinkowski` +- [**Lemma 370**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-exists-common-past) — Common Chronological Predecessor on Standard Minkowski · `Physicslib4.Spacetime.exists_common_past` +- [**Lemma 371**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-exists-common-future) — Common Chronological Successor on Standard Minkowski · `Physicslib4.Spacetime.exists_common_future` +- [**Lemma 372**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-diamonds-upward-directed) — Standard Minkowski Diamonds Are Upward-Directed · `Physicslib4.Spacetime.alexandrovBasis_directed` +- [**Theorem 373**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-alexandrov-basis) — The Alexandrov Diamonds are a Basis on Standard Minkowski · `Physicslib4.Spacetime.isTopologicalBasis_alexandrovBasis_standardMinkowski` + +**§10.4.4 Dilations are causal automorphisms but not isometries (p. 255)** + +- [**Lemma 374**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:minkowski-dilation-cone) — Dilations Preserve the Minkowski Cones · `Physicslib4.minkowskiForwardCone_smul` (+1 more) +- [**Theorem 375**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-dilation-causal-automorphism) — Dilations are Causal Automorphisms · `Physicslib4.alexandrovBasis_image_smul` +- [**Theorem 376**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:minkowski-dilation-not-isometry) — Dilations are Not Isometries · `Physicslib4.minkowskiForm_smul` (+1 more) + +**§10.4.5 Isometries and basis-set preservation (p. 256)** + +- [**Lemma 377**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-classification) — Isometries Preserve the Causal Classification · `Physicslib4.Spacetime.Isometry.preserves_self` (+3 more) +- [**Lemma 378**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:path-parameter-unique-diff) — Unique Differentials Along a Path · `Physicslib4.Spacetime.Path.uniqueDiffOn_parameterSpace` +- [**Lemma 379**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pushforward-path) — Pushforward of a Path Under an Isometry · `Physicslib4.Spacetime.Isometry.pushforwardPath` (+5 more) +- [**Lemma 380**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-pullback-metric) — Pullback of Vector Fields and the Metric Under an Isometry · `Physicslib4.Spacetime.Isometry.val_mpullback` (+3 more) +- [**Lemma 381**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-pullback-metric-derivative) — Derivatives of Metric Pairings of Pulled-Back Fields · `Physicslib4.Spacetime.Isometry.mfderiv_val_mpullback` (+1 more) +- [**Lemma 382**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-pullback-lie-bracket) — Metric Pairings with Lie Brackets of Pulled-Back Fields · `Physicslib4.Spacetime.Isometry.val_mlieBracket_mpullback` (+1 more) +- [**Lemma 383**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-levi-civita) — Isometries Preserve the Levi-Civita Connection · `Physicslib4.Spacetime.Isometry.mfderiv_leviCivita_mpullback` (+1 more) +- [**Lemma 384**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-geodesics) — Isometries Preserve Geodesics · `Physicslib4.Spacetime.Isometry.pushforwardPath_isGeodesic` (+2 more) +- [**Lemma 385**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-chronology) — Isometries Preserve Chronology · `Physicslib4.Spacetime.Isometry.PreservesFutureOrientation` (+8 more) +- [**Lemma 386**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isometry-preserves-basis-sets) — Isometries Preserve Basis Sets · `Physicslib4.Spacetime.Isometry.futureOrientationPreserving` (+8 more) +- [**Lemma 387**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:axiom5-basis-preservation) — Axiom 5 Basis-Set Preservation · `Physicslib4.Spacetime.LorentzianSpacetime.toAbstractIdentityComponent_isBasisSet_smul` + +**§10.4.6 Pullback metrics and cross-metric isometries (p. 258)** + +- [**Definition 388**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:pullback-metric) — Pullback of a Spacetime Metric · `Physicslib4.Spacetime.bilinearPrecomp` (+3 more) +- [**Lemma 389**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-diffeo-linear-equiv) — The Differential of a Diffeomorphism is a Linear Equivalence · `Physicslib4.Spacetime.Diffeo` (+4 more) +- [**Lemma 390**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-symm-cancel-left) — Round-Trip Cancellation: $$d\psi$$ After $$d(\psi^{-1})$$ · `Physicslib4.Spacetime.mfderiv_symm_cancel_left` +- [**Lemma 391**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-symm-cancel-right) — Round-Trip Cancellation: $$d(\psi^{-1})$$ After $$d\psi$$ · `Physicslib4.Spacetime.mfderiv_symm_cancel_right` +- [**Lemma 392**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mfderiv-inverse-eq-symm) — The Formal Inverse of $$d\psi_x$$ is the Inverse Equivalence · `Physicslib4.Spacetime.inverse_mfderiv_eq_symm` (+2 more) +- [**Lemma 393**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-symm) — The Pullback Metric is Symmetric · `Physicslib4.Spacetime.pullbackVal_symm` +- [**Lemma 394**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-nondegenerate) — The Pullback Metric is Non-Degenerate · `Physicslib4.Spacetime.pullbackVal_nondegenerate` +- [**Lemma 395**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-lorentzian) — The Pullback Metric is Lorentzian · `Physicslib4.Spacetime.pullbackVal_lorentzian` +- [**Lemma 396**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-metric-smooth-in-charts) — The Pullback Metric is a Smooth Section of the Bilinear-Form Bundle · `Physicslib4.Spacetime.pullbackVal_contMDiff` +- [**Theorem 397**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pullback-is-spacetime) — The Pullback of a Spacetime is a Spacetime · `Physicslib4.Spacetime.pullback` (+4 more) +- [**Definition 398**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:preserves-future-orientation) — Two-Sided Preservation of Future Orientation · `Physicslib4.Spacetime.PreservesFutureOrientation` (+1 more) +- [**Lemma 399**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:mpullback-vectorField-contMDiff-of-diffeo) — The Pullback of a Bundle-Smooth Vector Field Along a Diffeomorphism is Bundle-Smooth · `Physicslib4.Spacetime.contMDiff_mpullback_vectorField` +- [**Lemma 400**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation-ne-zero) — The Pullback Time Orientation is Nowhere Vanishing · `Physicslib4.Spacetime.mpullback_field_ne_zero` +- [**Lemma 401**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation-timelike) — The Pullback Time Orientation is Everywhere Timelike · `Physicslib4.Spacetime.pullbackVal_mpullback_field_self` (+1 more) +- [**Lemma 402**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-time-orientation) — Pullback of a Time Orientation · `Physicslib4.Spacetime.pullbackTimeOrientation` (+1 more) +- [**Lemma 403**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-future-pointing-timelike) — Transport of Future-Pointing Timelike Vectors · `Physicslib4.Spacetime.pullbackVal_mpullback_field_apply` (+1 more) +- [**Lemma 404**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-future-pointing-null) — Transport of Future-Pointing Null Vectors · `Physicslib4.Spacetime.isFuturePointing_pullback_iff_of_isNull` +- [**Lemma 405**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-preserves-future-orientation) — The Pullback Preserves the Future Orientation Two-Sidedly · `Physicslib4.Spacetime.pullback_preservesFutureOrientationTwoSided` +- [**Definition 406**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:cross-metric-isometry) — Isometry Between Two Metrics on One Manifold · `Physicslib4.Spacetime.CrossIsometry` (+4 more) +- [**Lemma 407**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-symm) — The Inverse of a Cross-Metric Isometry is a Cross-Metric Isometry · `Physicslib4.Spacetime.CrossIsometry.symm_preserves` (+1 more) +- [**Lemma 408**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-classification) — Cross-Metric Isometries Preserve the Causal Classification · `Physicslib4.Spacetime.CrossIsometry.preserves_self` (+3 more) +- [**Lemma 409**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-tangent) — The Tangent Chain Rule Along a Path · `Physicslib4.Spacetime.mfderivWithin_comp_diffeo` (+1 more) +- [**Lemma 410**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path) — Pushforward of a Path Under a Cross-Metric Isometry · `Physicslib4.Spacetime.pushforwardPath` (+2 more) +- [**Lemma 411**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-causal) — The Pushforward Preserves the Timelike and Causal Conditions · `Physicslib4.Spacetime.CrossIsometry.pushforwardPath_isTimelike` (+1 more) +- [**Lemma 412**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-pushforward-path-endpoints) — The Pushforward Transports Endpoints · `Physicslib4.Spacetime.pushforwardPath_isPastEndpoint` (+1 more) +- [**Lemma 413**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-chronology) — Cross-Metric Isometries Transport Chronological Precedence · `Physicslib4.Spacetime.pushforwardPath_isFutureOriented` (+2 more) +- [**Lemma 414**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-chronological-future-image) — Image of the Chronological Future · `Physicslib4.Spacetime.CrossIsometry.chronologicalFuture_image` +- [**Lemma 415**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-chronological-past-image) — Image of the Chronological Past · `Physicslib4.Spacetime.CrossIsometry.chronologicalPast_image` +- [**Lemma 416**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cross-metric-isometry-preserves-basis-sets) — Cross-Metric Isometries Preserve Basis Sets · `Physicslib4.Spacetime.CrossIsometry.alexandrovDiamond_image` (+1 more) +- [**Lemma 417**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:bijection-generated-topology-homeomorphism) — A Bijection Matching Generating Families is a Homeomorphism · `Physicslib4.continuous_generateFrom_of_preimage_mem` (+4 more) +- [**Lemma 418**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-alexandrov-homeomorphism) — The Pullback Alexandrov Topology · `Physicslib4.Spacetime.pullback_alexandrovBasis_image` (+3 more) +- [**Theorem 419**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pullback-is-lorentzian-spacetime) — The Pullback of a Lorentzian Spacetime is a Lorentzian Spacetime · `Physicslib4.Spacetime.LorentzianSpacetime.pullback_alexandrov_t2` (+3 more) + +### §10.5 Haag–Kastler Axioms in Minkowski spacetime (pp. 270–308) + +**§10.5 The axioms (p. 270)** + +- [**Definition 420**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-algebras) — Axiom 1: Local Algebras · `Physicslib4.AQFT.HaagKastler.LocalNet` +- [**Definition 421**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isotony) — Axiom 2: Isotony · `Physicslib4.AQFT.HaagKastler.Isotony` + +**§10.5.1 The Quasilocal Colimit (p. 272)** + +- [**Lemma 422**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:alexandrov-diamonds-isDirected) — Alexandrov Diamonds are Directed under Inclusion · `Physicslib4.AQFT.HaagKastler.Diamond` (+2 more) +- [**Lemma 423**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:isotony-directed-system) — The Isotony Family is a Directed System · `Physicslib4.AQFT.HaagKastler.transitionHom` (+1 more) +- [**Lemma 424**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-norm-well-defined) — The Colimit Norm is Well Defined · `Physicslib4.AQFT.HaagKastler.QuasilocalColimit` (+3 more) +- [**Lemma 425**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-common-representatives) — Common Representatives for Two Colimit Elements · `Physicslib4.AQFT.HaagKastler.exists_common_representatives` +- [**Lemma 426**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-norm-axioms) — The Colimit Norm is a Ring Norm and a Normed-Space Norm · `Physicslib4.AQFT.HaagKastler.instNonemptyDiamond` (+3 more) +- [**Lemma 427**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-union-normed-star-algebra) — The Quasilocal Union is a Normed \*-Algebra · `Physicslib4.AQFT.HaagKastler.norm_eq_colimitNorm` (+1 more) +- [**Lemma 428**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-cstar-identity) — The Colimit Satisfies the C\*-Inequality · `Physicslib4.AQFT.HaagKastler.colimitCStarRing` +- [**Definition 429**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completion-standing-hypotheses) — Standing Hypotheses for the Completion Results · `Physicslib4.CStarCompletion` +- [**Definition 430**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:completion-star) — The Involution on a Completion · `Physicslib4.instStarCompletion` (+1 more) +- [**Lemma 431**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:star-extends-to-completion) — The Involution Extends to the Completion · `Physicslib4.instStarRingCompletion` (+1 more) +- [**Lemma 432**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-coe-star-alg-hom) — The Completion Coercion as a Bundled \*-Algebra Homomorphism · `Physicslib4.coeStarAlgHom` +- [**Lemma 433**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-cstar-identity) — The C\*-Inequality Passes to the Completion · `Physicslib4.instCStarRingCompletion` +- [**Lemma 434**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-normed-algebra) — The Completion is a Normed $$\mathbb{C}$$-Algebra · `Physicslib4.instNormedAlgebraCompletion` +- [**Lemma 435**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:completion-of-cstar-normed-star-algebra) — The Completion of a C\*-Normed \*-Algebra is a C\*-Algebra · `Physicslib4.instCStarAlgebraCompletion` +- [**Lemma 436**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-completion-cstar) — The Completion of the Quasilocal Colimit is a C\*-Algebra · `Physicslib4.AQFT.HaagKastler.QuasilocalCompletion` (+1 more) +- [**Definition 437**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-algebra) — Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.QuasilocalAlgebra` +- [**Definition 438**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-commutativity) — Axiom 3: Local Commutativity · `Physicslib4.AQFT.HaagKastler.LocalCommutativity` +- [**Lemma 439**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:local-commutativity-any-quasilocal) — Local Commutativity Holds in Every Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.LocalCommutativity.commute_ι` (+1 more) +- [**Definition 440**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-observable) — Quasilocal Observable · `Physicslib4.AQFT.HaagKastler.IsQuasilocalObservable` +- [**Definition 441**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-completeness) — Axiom 4: Quasilocal Completeness · `Physicslib4.AQFT.HaagKastler.ObservableCorrespondence` +- [**Theorem 442**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-algebra-exists) — Existence of a Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.exists_quasilocalAlgebra` +- [**Lemma 443**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding) — The Canonical Embeddings into the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.colimitStarOf` (+1 more) +- [**Lemma 444**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding-injective) — The Canonical Embeddings are Injective · `Physicslib4.AQFT.HaagKastler.quasilocalEmbedding_injective` +- [**Lemma 445**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embedding-cocone) — The Canonical Embeddings Form a Cocone · `Physicslib4.AQFT.HaagKastler.quasilocalEmbedding_transitionHom` +- [**Lemma 446**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-colimit-union-of-insertions) — The Colimit is the Union of the Images of its Insertions · `Physicslib4.AQFT.HaagKastler.exists_eq_colimitStarOf` +- [**Lemma 447**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-embeddings-dense) — The Images of the Canonical Embeddings are Dense · `Physicslib4.AQFT.HaagKastler.dense_iUnion_range_quasilocalEmbedding` +- [**Theorem 448**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-strongly-dense) — Quasilocal Observables are Strongly Dense in the Bicommutant · `Physicslib4.AQFT.HaagKastler.dense_range_in_bicommutant` — **the one Chapter 10 node whose statement is formalised but whose proof is not**: the statement is formalised, the proof is a deliberate `sorry` with a **Restriction:** note (see [Formalisation status](#formalisation-status)) +- [**Definition 449**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:lorentz-covariance) — Axiom 5: Lorentz Covariance · `Physicslib4.AQFT.HaagKastler.LorentzCovariance` +- [**Definition 450**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:haag-kastler-net) — Haag–Kastler Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet` + +**§10.5.2 Einstein Causality (p. 289)** + +- [**Theorem 451**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:einstein-causality) — Einstein Causality in a Representation · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.einstein_causality` (+1 more) + +**§10.5.3 Local von Neumann Algebras (p. 290)** + +- [**Definition 452**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann) — Local von Neumann Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localOperators` (+1 more) +- [**Lemma 453**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:bicommutant-of-selfadjoint-is-von-neumann) — The Bicommutant of a Self-Adjoint Set is a von Neumann Algebra · `Physicslib4.GNS.vonNeumannOfSelfAdjoint` +- [**Definition 454**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-algebra) — $$R(\mathbf{B})$$ as a von Neumann Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra` +- [**Theorem 455**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-microcausality) — Microcausality at the von Neumann Level · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_subset_centralizer` +- [**Theorem 456**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-isotony) — Isotony of the von Neumann Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_mono` +- [**Theorem 457**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-bundled-order) — Bundled von Neumann Microcausality and Isotony · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_le_commutant` (+1 more) +- [**Definition 458**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-net) — The Net of von Neumann Algebras · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.vonNeumannNet` +- [**Theorem 459**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence) — Statistical Independence (Schlieder Property) · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_separating` (+1 more) +- [**Theorem 460**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-bundled) — Statistical Independence, bundled · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_separating` +- [**Theorem 461**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:additive-free-locality) — Additive-Free Locality via the Spacelike Complement · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannAlgebra_le_commutant_of_subset_spacelikeComplement` +- [**Theorem 462**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-geometric-covariance) — Geometric Covariance of the von Neumann Net · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.lieConj_image_localVonNeumann` (+1 more) +- [**Theorem 463**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-factor-orbit) — Orbit-Invariance of Factoriality · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumann_isFactor_smul` +- [**Theorem 464**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-covariance-iso) — Geometric Covariance as a von Neumann Algebra Isomorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.localVonNeumannEquiv` + +**§10.5.4 Relative Commutants of Nested Local Algebras (p. 292)** + +- [**Definition 465**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:relative-commutant) — Relative Commutant of a Nested Pair · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant` +- [**Theorem 466**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-antitone) — Antitonicity of the Commutant · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.commutant_le_commutant_of_le` +- [**Theorem 467**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-le-right) — Relative Commutant Lies in the Larger Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant_le_right` +- [**Theorem 468**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-coe-commutant) — Relative Commutant Commutes with the Smaller Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.relativeCommutant_coe_subset_commutant` +- [**Theorem 469**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-center) — Relative Commutant Contains the Centre · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.center_le_relativeCommutant` +- [**Definition 470**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-inclusion) — Irreducible Inclusion · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsIrreducibleInclusion` +- [**Theorem 471**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-inclusion-factor) — An Irreducible Inclusion has Factor Ambient · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isFactor_of_isIrreducibleInclusion` +- [**Theorem 472**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:self-inclusion-factor) — Self-Inclusion is Irreducible iff Factor · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isIrreducibleInclusion_self_iff_isFactor` + +**§10.5.5 Irreducibility and Schur's Lemma (p. 293)** + +- [**Definition 473**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-representation) — Irreducible Representation · `Physicslib4.GNS.IsIrreducible` +- [**Theorem 474**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:schur-lemma) — Topological Schur Lemma · `Physicslib4.GNS.eq_smul_one_of_commute_of_cyclic` +- [**Theorem 475**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-scalar-iff) — Commutant Scalar iff Proportional Coefficient · `Physicslib4.GNS.isScalar_iff_coeff_proportional` +- [**Definition 476**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:pure-state) — Pure State · `Physicslib4.GNS.IsPure` +- [**Theorem 477**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-implies-irreducible) — Pure Implies Irreducible · `Physicslib4.GNS.isIrreducible_of_isPure` +- [**Theorem 478**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-form-bound) — The GNS Radon–Nikodym Form is Bounded · `Physicslib4.GNS.gns_form_norm_le` (+1 more) +- [**Theorem 479**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-radon-nikodym-operator) — The GNS Radon–Nikodym Operator · `Physicslib4.GNS.rnOp` (+3 more) +- [**Theorem 480**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible) — Pure $$\iff$$ Irreducible · `Physicslib4.GNS.isPure_iff_isIrreducible` +- [**Theorem 481**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-factor) — An Irreducible Representation Generates a Factor · `Physicslib4.GNS.center_gnsVonNeumann_eq_of_isIrreducible` +- [**Theorem 482**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-generates-all) — Irreducibility $$\iff$$ Generating $$\mathcal{B}(H)$$ · `Physicslib4.GNS.isIrreducible_iff_gnsVonNeumann_eq_univ` (+1 more) +- [**Theorem 483**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-generates-all-bundled) — Bundled Density Form of Irreducibility · `Physicslib4.GNS.coe_gnsVonNeumannAlgebra_eq_univ_of_isIrreducible` (+1 more) +- [**Theorem 484**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-factor) — The GNS Representation of a Pure State is a Factor · `Physicslib4.GNS.exists_gns_factor_of_isPure` +- [**Theorem 485**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-generates-all) — The GNS Representation of a Pure State Generates $$\mathcal{B}(H)$$ · `Physicslib4.GNS.exists_gns_generates_all_of_isPure` +- [**Theorem 486**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:norm-positive-functional) — Norm of a Positive Functional · `Physicslib4.GNS.norm_eq_re_apply_one_of_positive` +- [**Definition 487**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:extreme-state) — Extreme Point of the State Space · `Physicslib4.GNS.State.IsExtremePoint` +- [**Theorem 488**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme) — Pure $$\iff$$ Extreme Point · `Physicslib4.GNS.isPure_iff_isExtremePoint` +- [**Theorem 489**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-space-convex-bridge) — State-Space Convexity and the Extreme-Point Bridge · `Physicslib4.GNS.convex_stateSpace` (+1 more) +- [**Definition 490**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:state-pullback) — Pullback of a State · `Physicslib4.GNS.State.comp` +- [**Theorem 491**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-pullback-functorial) — Functoriality of the State Pullback · `Physicslib4.GNS.State.comp_id` (+1 more) +- [**Theorem 492**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-pullback-invariant) — Purity is Invariant under a \*-Isomorphism · `Physicslib4.GNS.isPure_comp_iff` +- [**Theorem 493**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:state-space-weak-compact) — Weak-\* Compactness of the State Space · `Physicslib4.GNS.isCompact_weakStateSet` +- [**Theorem 494**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme-quasilocal) — Pure $$\iff$$ Extreme Point on the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.pure_iff_extreme` +- [**Theorem 495**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible-quasilocal) — Pure $$\iff$$ Irreducible GNS on the Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.exists_gns_pure_iff_irreducible` + +**§10.5.6 Unitary Equivalence and Superselection (p. 297)** + +- [**Definition 496**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:unitary-equivalence) — Unitary Equivalence of Representations · `Physicslib4.GNS.UnitaryEquiv` +- [**Theorem 497**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:unitary-equiv-invariants) — Irreducibility and Factoriality are Unitary Invariants · `Physicslib4.GNS.UnitaryEquiv.isIrreducible_iff` (+1 more) + +**§10.5.7 GNS Covariance (p. 297)** + +- [**Lemma 498**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:cyclic-pullback-surjective) — Cyclicity pulls back along a surjective \*-homomorphism · `Physicslib4.GNS.isCyclicVector_comp_of_surjective` +- [**Theorem 499**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance) — GNS covariance under a \*-isomorphism · `Physicslib4.GNS.exists_unitary_of_gns_comp` +- [**Theorem 500**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-unitary-equiv) — The GNS representation of a pullback state · `Physicslib4.GNS.unitaryEquiv_comp_of_gns` +- [**Lemma 501**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:pullback-image-invariants) — Pullback along a surjection preserves the image algebra · `Physicslib4.GNS.range_comp_of_surjective` (+2 more) +- [**Theorem 502**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-sector-transport) — Superselection type transports along a \*-isomorphism · `Physicslib4.GNS.isIrreducible_iff_of_gns_comp` (+1 more) +- [**Theorem 503**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-local) — GNS covariance for local algebras · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.unitaryEquiv_gns_covEquiv` (+2 more) + +**§10.5.8 Disjointness and Quasi-Equivalence (p. 299)** + +- [**Definition 504**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:disjoint-representations) — Disjoint Representations · `Physicslib4.GNS.AreDisjoint` +- [**Definition 505**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasi-equivalence) — Quasi-Equivalence of Representations · `Physicslib4.GNS.QuasiEquiv` +- [**Theorem 506**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-dichotomy) — Schur's Lemma and the Irreducible Dichotomy · `Physicslib4.GNS.UnitaryEquiv.of_intertwines_of_isIrreducible` (+1 more) +- [**Lemma 507**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:schur-multiplicity) — Schur Multiplicity · `Physicslib4.GNS.eq_smul_of_intertwines_of_isIrreducible` +- [**Lemma 508**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:endomorphism-scalar) — Endomorphism Algebra of an Irreducible Representation · `Physicslib4.GNS.intertwines_self_iff_isScalar` +- [**Theorem 509**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-von-neumann) — The commutant (self-intertwiner) von Neumann algebra · `Physicslib4.GNS.commutantVonNeumann` (+2 more) +- [**Theorem 510**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:double-commutant-duality) — Double-Commutant Duality · `Physicslib4.GNS.commutant_gnsVonNeumannAlgebra` (+1 more) +- [**Theorem 511**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:commutant-factor-duality) — A Factor and its Commutant; Triviality Duality · `Physicslib4.GNS.isFactor_gnsVonNeumann_iff_isFactor_commutant` (+1 more) +- [**Lemma 512**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-abelian-self-commuting) — Abelian $$\iff$$ Self-Commuting · `Physicslib4.GNS.isAbelian_iff_le_commutant` +- [**Definition 513**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-center) — Centre of a von Neumann algebra · `Physicslib4.GNS.vonNeumannCenter` +- [**Lemma 514**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-inter-is-von-neumann) — The centre is a von Neumann algebra · `Physicslib4.GNS.bicommutant_inter_commutant_eq` +- [**Lemma 515**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-inter-general) — The intersection of two von Neumann algebras is a von Neumann algebra · `Physicslib4.GNS.bicommutant_inter_eq` +- [**Theorem 516**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-center-abelian) — The centre of a von Neumann algebra is abelian · `Physicslib4.GNS.vonNeumannCenter_isAbelian` +- [**Lemma 517**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:von-neumann-center-eq-self-iff-abelian) — $$R$$ is abelian iff it equals its centre · `Physicslib4.GNS.vonNeumannCenter_eq_self_iff_isAbelian` +- [**Theorem 518**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:factor-abelian-iff-scalars) — A factor is abelian iff it is the scalars · `Physicslib4.GNS.isAbelian_iff_eq_scalars_of_isFactor` +- [**Theorem 519**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:center-eq-commutant-center) — A von Neumann algebra and its commutant share a centre · `Physicslib4.GNS.vonNeumannCenter_eq_commutant` +- [**Theorem 520**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:factor-iff-center-scalars) — A von Neumann algebra is a factor iff its centre is the scalars · `Physicslib4.GNS.isFactor_iff_center_eq_scalars` +- [**Theorem 521**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-state-dichotomy) — The Pure-State Dichotomy · `Physicslib4.GNS.exists_gns_areDisjoint_or_unitaryEquiv_of_isPure` + +**§10.5.9 Direct Sums, Amplification, and Reducibility (p. 302)** + +- [**Definition 522**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:direct-sum-representation) — Direct-Sum Representation · `Physicslib4.GNS.directSum` +- [**Theorem 523**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:direct-sum-subrepresentation) — Subrepresentations and Commutant of a Direct Sum · `Physicslib4.GNS.intertwines_single` (+1 more) +- [**Definition 524**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:amplification) — Amplification · `Physicslib4.GNS.amplification` +- [**Theorem 525**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:direct-sum-reducible) — Reducibility of a Direct Sum · `Physicslib4.GNS.not_isIrreducible_directSum` + +**§10.5.10 Covariant States and the Covariance Action (p. 302)** + +- [**Definition 526**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-state-family) — Covariant Family of Local States · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsCovariantFamily` +- [**Lemma 527**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:covariant-state-family-compose) — Composition of Covariance · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsCovariantFamily.comp` +- [**Definition 528**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:quasilocal-lift) — Quasilocal Covariance Automorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.QuasilocalLift` +- [**Lemma 529**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-lift-unique) — Uniqueness of the Quasilocal Lift · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.QuasilocalLift.unique` +- [**Lemma 530**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-covariance-compatible) — Every Quasilocal Algebra is Covariance-Compatible · `Physicslib4.AQFT.HaagKastler.isCovariantQuasilocal` +- [**Theorem 531**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-lift-exists) — Existence of the Quasilocal Lift · `Physicslib4.AQFT.HaagKastler.nonempty_quasilocalLift` +- [**Theorem 532**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:quasilocal-lift-trivial) — Existence for the Trivial Net · `Physicslib4.AQFT.HaagKastler.nonempty_trivialQuasilocalLift` +- [**Definition 533**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-quasilocal-algebra) — Covariant Quasilocal Algebra · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.action` +- [**Lemma 534**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:quasilocal-action-coherence) — Group-Action Coherence of the Covariance Automorphism · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.action_one` (+1 more) +- [**Definition 535**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:invariant-state) — Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState` +- [**Theorem 536**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:invariant-state-gns-unitary) — GNS Unitary Implementation of an Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState.exists_gns_unitary` +- [**Theorem 537**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-covariant-representation) — Irreducible Covariant Representation of a Pure Invariant State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsInvariantState.exists_gns_irreducible_covariant` +- [**Definition 538**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:positive-energy) — Positive Energy (bounded-generator scaffold) · `Physicslib4.AQFT.IsPositiveEnergy` +- [**Theorem 539**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:positive-energy-api) — Positive-Energy API · `Physicslib4.AQFT.isPositiveEnergy_const_refl` (+3 more) +- [**Definition 540**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:vacuum-state) — Vacuum State (generator-parameterised scaffold) · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumState` +- [**Theorem 541**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:vacuum-no-stone) — No-Stone Consequences of a Vacuum State · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumState.invariant` (+1 more) +- [**Definition 542**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:future-timelike-translation) — Future-Timelike Translation Subgroup · `Physicslib4.AQFT.HaagKastler.translationSub` (+3 more) +- [**Definition 543**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:vacuum-state-concrete) — Vacuum State with the Concrete Spectrum Condition · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsVacuumStateConcrete` +- [**Theorem 544**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:purity-covariance-invariant) — Purity is Covariance-Invariant · `Physicslib4.GNS.isPure_precomp_iff` (+1 more) +- [**Theorem 545**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-quasilocal-action) — GNS covariance along the quasilocal action · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.unitaryEquiv_gns_action` (+2 more) + +**§10.5.11 The Separating Vector of a Faithful State (p. 306)** + +- [**Theorem 546**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:separating-faithful) — Separating Vector of a Faithful State · `Physicslib4.GNS.separating_of_faithful` (+1 more) + +**§10.5.12 The KMS Condition and Thermal Equilibrium (p. 306)** + +- [**Definition 547**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:one-parameter-aut) — One-Parameter Automorphism Group · `Physicslib4.AQFT.IsOneParameterAut` +- [**Definition 548**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state) — KMS State · `Physicslib4.AQFT.IsKMSState` +- [**Theorem 549**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex) — The KMS State Set is Convex · `Physicslib4.AQFT.IsKMSState.convexCombo` +- [**Lemma 550**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:kms-correlation-one) — Boundary Coincidence for $$a = 1$$ · `Physicslib4.AQFT.IsKMSState.correlationOne` +- [**Definition 551**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:strip-liouville) — Strip-Liouville Principle · `Physicslib4.AQFT.StripLiouville` +- [**Theorem 552**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-periodic-extension) — $$i\beta$$-Periodic Entire Extension (Strip Schwarz Reflection) · `Physicslib4.exists_bounded_entire_extension_of_strip_periodic` +- [**Theorem 553**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-liouville-pos) — Strip-Liouville Holds for $$\beta > 0$$ · `Physicslib4.AQFT.stripLiouville_of_pos` +- [**Theorem 554**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-invariance) — KMS States are Invariant · `Physicslib4.AQFT.IsKMSState.invariant_of_pos` +- [**Theorem 555**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:strip-uniqueness) — Uniqueness on the Strip from Boundary Values · `Physicslib4.eqOn_strip_of_eq_boundary` +- [**Theorem 556**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-correlation-unique) — Uniqueness of the KMS Correlation Function · `Physicslib4.AQFT.IsKMSState.correlation_eqOn` + +**§10.5.13 KMS States for the Covariance Flow (p. 307)** + +- [**Definition 557**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:flow-aut-covariance) — Covariance-Flow Automorphism Family · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.flowAut` +- [**Lemma 558**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:one-parameter-aut-flow-covariance) — A Lorentz One-Parameter Subgroup Induces a One-Parameter Group · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.isOneParameterAut_flowAut` +- [**Definition 559**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state-for-flow-covariance) — KMS State for the Covariance Flow · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsKMSStateForFlow` +- [**Theorem 560**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex-for-flow-covariance) — Convexity of the Covariance-Flow KMS States · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsKMSStateForFlow.convexCombo` +- [**Definition 561**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:ground-state-for-flow-covariance) — Ground State for a Covariance Flow · `Physicslib4.AQFT.HaagKastler.HaagKastlerNet.IsGroundStateForFlow` (+2 more) + +### §10.6 Haag–Kastler Axioms in curved spacetime (pp. 308–318) + +**§10.6 The axioms (p. 308)** + +- [**Definition 562**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-algebras-in-curved-spacetime) — Axiom 1: Local Algebras · `Physicslib4.AQFT.HaagKastlerCurved.LocalNet` +- [**Definition 563**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isotony-in-curved-spacetime) — Axiom 2: Isotony · `Physicslib4.AQFT.HaagKastlerCurved.Isotony` +- [**Definition 564**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-commutativity-in-curved-spacetime) — Axiom 3: Local Commutativity · `Physicslib4.AQFT.HaagKastlerCurved.LocalCommutativity` +- [**Definition 565**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-observable) — Local Observable · `Physicslib4.AQFT.HaagKastlerCurved.IsLocalObservable` +- [**Definition 566**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-completeness-in-curved-spacetime) — Axiom 4: Local Completeness · `Physicslib4.AQFT.HaagKastlerCurved.LocalAlgebra` +- [**Definition 567**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:isometric-covariance-in-curved-spacetime) — Axiom 5: Isometric Covariance · `Physicslib4.AQFT.HaagKastlerCurved.IsometricCovariance` *(implemented via the explicitly orientation-preserving subgroup — see [Formalisation status](#formalisation-status))* +- [**Definition 568**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:haag-kastler-net-in-curved-spacetime) — Haag–Kastler Net in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet` + +**§10.6.1 Einstein Causality in Curved Spacetime (p. 310)** + +- [**Theorem 569**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:einstein-causality-in-curved-spacetime) — Einstein Causality in a Representation (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.einstein_causality` (+1 more) + +**§10.6.2 Local von Neumann Algebras in Curved Spacetime (p. 311)** + +- [**Definition 570**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-in-curved-spacetime) — Local von Neumann Algebra in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localOperators` (+1 more) +- [**Definition 571**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:local-von-neumann-algebra-in-curved-spacetime) — $$R(\mathbf{B}')$$ as a von Neumann Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra` +- [**Theorem 572**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-microcausality-in-curved-spacetime) — Microcausality at the von Neumann Level (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_subset_centralizer` +- [**Theorem 573**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-isotony-in-curved-spacetime) — Isotony of the von Neumann Net (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_mono` +- [**Theorem 574**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-bundled-order-in-curved-spacetime) — Bundled von Neumann Microcausality and Isotony (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_le_commutant` (+1 more) +- [**Definition 575**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:von-neumann-net-in-curved-spacetime) — The Net of von Neumann Algebras in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.vonNeumannNet` +- [**Theorem 576**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-in-curved-spacetime) — Statistical Independence (Schlieder Property) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_separating` (+1 more) +- [**Theorem 577**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:statistical-independence-bundled-in-curved-spacetime) — Statistical Independence, bundled (curved spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_separating` +- [**Theorem 578**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:additive-free-locality-in-curved-spacetime) — Additive-Free Locality via the Spacelike Complement (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_le_commutant_of_subset_spacelikeComplement_geometric` +- [**Theorem 579**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-geometric-covariance-in-curved-spacetime) — Geometric Covariance of the von Neumann Net (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.lieConj_image_localVonNeumann` (+2 more) +- [**Theorem 580**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-factor-orbit-in-curved-spacetime) — Orbit-Invariance of Factoriality (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumann_isFactor_smul` +- [**Theorem 581**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:von-neumann-covariance-iso-in-curved-spacetime) — Geometric Covariance as a von Neumann Algebra Isomorphism (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannEquiv` + +**§10.6.3 Relative Commutants of Nested Local Algebras in Curved Spacetime (p. 313)** + +- [**Definition 582**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:relative-commutant-in-curved-spacetime) — Relative Commutant of a Nested Pair (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant` +- [**Theorem 583**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-le-right-in-curved-spacetime) — Relative Commutant Lies in the Larger Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant_le_right` +- [**Theorem 584**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-coe-commutant-in-curved-spacetime) — Relative Commutant Commutes with the Smaller Algebra (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.relativeCommutant_coe_subset_commutant` +- [**Theorem 585**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:relative-commutant-center-in-curved-spacetime) — Relative Commutant Contains the Centre (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.center_le_relativeCommutant` +- [**Definition 586**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:irreducible-inclusion-in-curved-spacetime) — Irreducible Inclusion (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsIrreducibleInclusion` +- [**Theorem 587**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-inclusion-factor-in-curved-spacetime) — An Irreducible Inclusion has Factor Ambient (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isFactor_of_isIrreducibleInclusion` +- [**Theorem 588**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:self-inclusion-factor-in-curved-spacetime) — Self-Inclusion is Irreducible iff Factor (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isIrreducibleInclusion_self_iff_isFactor` +- [**Theorem 589**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:abelian-local-von-neumann-in-curved-spacetime) — Abelian Local von Neumann Algebras (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_center_isAbelian` (+1 more) +- [**Theorem 590**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:center-duality-local-von-neumann-in-curved-spacetime) — Centre Duality for Local von Neumann Algebras (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.localVonNeumannAlgebra_center_eq_commutant` (+1 more) + +**§10.6.4 Purity of States on Local Algebras in Curved Spacetime (p. 314)** + +- [**Theorem 591**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-extreme-in-curved-spacetime) — Pure $$\iff$$ Extreme Point on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.pure_iff_extreme` +- [**Theorem 592**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-iff-irreducible-in-curved-spacetime) — Pure $$\iff$$ Irreducible GNS on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_pure_iff_irreducible` +- [**Theorem 593**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:pure-factor-generates-in-curved-spacetime) — Pure GNS on a Local Algebra is a Factor Generating $$\mathcal{B}(H)$$ · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_factor_of_isPure` (+1 more) +- [**Theorem 594**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-dichotomy-in-curved-spacetime) — The Irreducible Dichotomy for a Curved Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.areDisjoint_or_unitaryEquiv_of_isIrreducible` +- [**Theorem 595**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-local-in-curved-spacetime) — GNS covariance for curved local algebras · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.unitaryEquiv_gns_covEquiv` (+2 more) + +**§10.6.5 Covariant States in Curved Spacetime (p. 315)** + +- [**Definition 596**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:covariant-state-family-in-curved-spacetime) — Covariant Family of Local States in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsCovariantFamily` +- [**Lemma 597**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:covariant-state-family-compose-in-curved-spacetime) — Composition of Covariance in Curved Spacetime · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsCovariantFamily.comp` + +**§10.6.6 The Stabiliser GNS Unitary in Curved Spacetime (p. 315)** + +- [**Definition 598**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:stabilizer-action-in-curved-spacetime) — Stabiliser Action on a Local Algebra · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.stabAut` +- [**Lemma 599**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:stabilizer-action-laws-in-curved-spacetime) — The Stabiliser Action is a Group Action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.stabAut_one` (+1 more) +- [**Theorem 600**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-unitary-stabilizer-in-curved-spacetime) — GNS Unitary Representation of the Stabiliser · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_unitary_stabilizer` +- [**Theorem 601**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-unitary-stabilizer-strongly-continuous-in-curved-spacetime) — Strongly Continuous Stabiliser GNS Unitary · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_unitary_stabilizer_strongContinuous` +- [**Theorem 602**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:irreducible-covariant-representation-in-curved-spacetime) — Irreducible Covariant Representation of a Pure Invariant State (Curved Spacetime) · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.exists_gns_irreducible_covariant_stabilizer` +- [**Theorem 603**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:purity-covariance-invariant-in-curved-spacetime) — Purity is Invariant under the Stabiliser Action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isPure_precomp_stabAut_iff` +- [**Theorem 604**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:gns-covariance-stabilizer-action) — GNS covariance along the stabiliser action · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.unitaryEquiv_gns_stabAut` (+2 more) + +**§10.6.7 KMS States for a Killing Flow (p. 317)** + +- [**Definition 605**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:flow-aut-in-curved-spacetime) — Killing-Flow Automorphism Family · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.flowAut` +- [**Lemma 606**](blueprint/chptr-haag-kastler-axioms-blueprint.html#lmm:one-parameter-aut-flow-in-curved-spacetime) — A Killing Flow Induces a One-Parameter Group · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.isOneParameterAut_flowAut` +- [**Definition 607**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:kms-state-for-flow-in-curved-spacetime) — KMS State for a Killing Flow · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow` +- [**Theorem 608**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-thermal-representation-in-curved-spacetime) — The Killing-Flow KMS Thermal Representation · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow.exists_gns_unitary_strongContinuous` +- [**Theorem 609**](blueprint/chptr-haag-kastler-axioms-blueprint.html#thrm:kms-convex-for-flow-in-curved-spacetime) — Convexity of the Killing-Flow KMS States · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsKMSStateForFlow.convexCombo` +- [**Definition 610**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:ground-state-for-flow-in-curved-spacetime) — Ground State for a Killing Flow · `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet.IsGroundStateForFlow` (+2 more) -### §10.7 General Covariance: Nets on Pullback-Related Metrics (pp. 317–318) +### §10.7 General Covariance: Nets on Pullback-Related Metrics (pp. 318–320) -**§10.7 General Covariance: Nets on Pullback-Related Metrics (p. 317)** - -- [**Definition 587**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:net-equivalence-in-curved-spacetime) — Equivalence of Haag–Kastler Nets · `Physicslib4.AQFT.HaagKastlerCurved.NetEquivalence` -- [**Definition 588**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:general-covariance-in-curved-spacetime) — General Covariance · `Physicslib4.AQFT.HaagKastlerCurved.NetTheory` (+4 more) +**§10.7 General Covariance: Nets on Pullback-Related Metrics (p. 318)** + +- [**Definition 611**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:net-equivalence-in-curved-spacetime) — Equivalence of Haag–Kastler Nets · `Physicslib4.AQFT.HaagKastlerCurved.NetEquivalence` +- [**Definition 612**](blueprint/chptr-haag-kastler-axioms-blueprint.html#def:general-covariance-in-curved-spacetime) — General Covariance · `Physicslib4.AQFT.HaagKastlerCurved.NetTheory` (+4 more) ### The axioms at a glance Axiom 6 (Primitivity) from the original 1964 Haag–Kastler paper is not carried into the sharpened axiom set — see Chapter 8 for the discussion of why it is dropped. The five sharpened axioms in each setting, bundled together as a `HaagKastlerNet`, are what is actually formalised. -**Minkowski spacetime** — bundled as `Physicslib4.AQFT.HaagKastler.HaagKastlerNet` (Definition 426): +**Minkowski spacetime** — bundled as `Physicslib4.AQFT.HaagKastler.HaagKastlerNet` (Definition 450): | Axiom | Node | Lean | |---|---|---| -| 1. Local Algebras | Definition 396 | `Physicslib4.AQFT.HaagKastler.LocalNet` | -| 2. Isotony | Definition 397 | `Physicslib4.AQFT.HaagKastler.Isotony` | -| 3. Local Commutativity | Definition 414 | `Physicslib4.AQFT.HaagKastler.LocalCommutativity` | -| 4. Quasilocal Completeness | Definition 417 | `Physicslib4.AQFT.HaagKastler.ObservableCorrespondence` | -| 5. Lorentz Covariance | Definition 425 | `Physicslib4.AQFT.HaagKastler.LorentzCovariance` | +| 1. Local Algebras | Definition 420 | `Physicslib4.AQFT.HaagKastler.LocalNet` | +| 2. Isotony | Definition 421 | `Physicslib4.AQFT.HaagKastler.Isotony` | +| 3. Local Commutativity | Definition 438 | `Physicslib4.AQFT.HaagKastler.LocalCommutativity` | +| 4. Quasilocal Completeness | Definition 441 | `Physicslib4.AQFT.HaagKastler.ObservableCorrespondence` | +| 5. Lorentz Covariance | Definition 449 | `Physicslib4.AQFT.HaagKastler.LorentzCovariance` | -**Curved spacetime** — bundled as `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet` (Definition 544): +**Curved spacetime** — bundled as `Physicslib4.AQFT.HaagKastlerCurved.HaagKastlerNet` (Definition 568): | Axiom | Node | Lean | |---|---|---| -| 1. Local Algebras | Definition 538 | `Physicslib4.AQFT.HaagKastlerCurved.LocalNet` | -| 2. Isotony | Definition 539 | `Physicslib4.AQFT.HaagKastlerCurved.Isotony` | -| 3. Local Commutativity | Definition 540 | `Physicslib4.AQFT.HaagKastlerCurved.LocalCommutativity` | -| 4. Local Completeness | Definition 542 | `Physicslib4.AQFT.HaagKastlerCurved.LocalAlgebra` | -| 5. Isometric Covariance | Definition 543 | `Physicslib4.AQFT.HaagKastlerCurved.IsometricCovariance` | +| 1. Local Algebras | Definition 562 | `Physicslib4.AQFT.HaagKastlerCurved.LocalNet` | +| 2. Isotony | Definition 563 | `Physicslib4.AQFT.HaagKastlerCurved.Isotony` | +| 3. Local Commutativity | Definition 564 | `Physicslib4.AQFT.HaagKastlerCurved.LocalCommutativity` | +| 4. Local Completeness | Definition 566 | `Physicslib4.AQFT.HaagKastlerCurved.LocalAlgebra` | +| 5. Isometric Covariance | Definition 567 | `Physicslib4.AQFT.HaagKastlerCurved.IsometricCovariance` | -**General Covariance (Definition 588, `Physicslib4.AQFT.HaagKastlerCurved.IsGenerallyCovariant`)** is deliberately *not* a sixth axiom. Axioms 1–5 each constrain a single net over a single fixed spacetime, whereas general covariance relates two nets over two spacetimes; it is therefore a property of the section $$L \mapsto \mathfrak{U}_L$$ assigning a net to every Lorentzian spacetime, not an extra field of the net structure. +**General Covariance (Definition 612, `Physicslib4.AQFT.HaagKastlerCurved.IsGenerallyCovariant`)** is deliberately *not* a sixth axiom. Axioms 1–5 each constrain a single net over a single fixed spacetime, whereas general covariance relates two nets over two spacetimes; it is therefore a property of the section $$L \mapsto \mathfrak{U}_L$$ assigning a net to every Lorentzian spacetime, not an extra field of the net structure. Two changes to the axioms are worth calling out for readers coming from an earlier version of this blueprint: -- **Isotony now supplies its embeddings as data.** Axiom 2 (Definitions 397 and 539) fixes the family $$i_{\mathbf{B}_1 \mathbf{B}_2}$$ together with identity and composition laws, making $$\mathbf{B} \mapsto \mathfrak{U}(\mathbf{B})$$ a functor on the inclusion order. Axiom 3 consumes that family rather than choosing witnesses of its own, and Axiom 5 (Definitions 425 and 543) now states its coherence condition for the same family, so that covariance-compatibility of a quasilocal algebra is a lemma (Lemma 506) rather than a hypothesis. This is what makes the quasilocal colimit well posed in Minkowski spacetime, and it removes the coherence side-hypotheses that curved-spacetime statements about nested regions previously had to carry. -- **Axiom 4 has been split.** The mathematical claim that a quasilocal algebra exists is now Theorem 418 (`Physicslib4.AQFT.HaagKastler.exists_quasilocalAlgebra`), proved from the colimit-and-completion chain; what remains as Axiom 4 (Definition 417) is the bridge principle relating physical observables to quasilocal ones, which has — by design — no mathematical consumers. +- **Isotony now supplies its embeddings as data.** Axiom 2 (Definitions 421 and 563) fixes the family $$i_{\mathbf{B}_1 \mathbf{B}_2}$$ together with identity and composition laws, making $$\mathbf{B} \mapsto \mathfrak{U}(\mathbf{B})$$ a functor on the inclusion order. Axiom 3 consumes that family rather than choosing witnesses of its own, and Axiom 5 (Definitions 449 and 567) now states its coherence condition for the same family, so that covariance-compatibility of a quasilocal algebra is a lemma (Lemma 530) rather than a hypothesis. This is what makes the quasilocal colimit well posed in Minkowski spacetime, and it removes the coherence side-hypotheses that curved-spacetime statements about nested regions previously had to carry. +- **Axiom 4 has been split.** The mathematical claim that a quasilocal algebra exists is now Theorem 442 (`Physicslib4.AQFT.HaagKastler.exists_quasilocalAlgebra`), proved from the colimit-and-completion chain; what remains as Axiom 4 (Definition 441) is the bridge principle relating physical observables to quasilocal ones, which has — by design — no mathematical consumers. ## Contributing