Spacetime #
This file formalises the notion of a spacetime used in the AQFT-in-Lean blueprint, section 10.2.
Main definitions #
Physicslib4.LorentzianAt: the pointwise "Lorentzian" condition on a symmetric bilinear form on a real four-dimensional vector space, asserting the existence of a basis with respect to which the Gram matrix is the diagonal matrixdiag(-1, 1, 1, 1).Physicslib4.Spacetime: a real, four-dimensional, connected, smooth, Hausdorff manifoldMtogether with a globally defined smooth, non-degenerate, symmetric, Lorentzian(0, 2)tensor fieldg. This corresponds to the blueprint labeldef:spacetime.
Modelling notes #
Mathlib (at v4.31.0-rc1) does not provide a packaged "Lorentzian manifold"
or "pseudo-Riemannian metric" type. The closest thing — PseudoRiemannianMetric
— lives in the downstream PhysLean library, which is not a dependency of
this project. We therefore unbundle the definition into Mathlib primitives:
- the underlying manifold is presented as a
Type*Mequipped with aTopologicalSpace,T2Space(Hausdorff),ConnectedSpace,ChartedSpacewith model spaceℝ⁴, andIsManifold I ∞ M(smoothnessC^∞) whereIis the chosen model with corners; - the metric
gis a family of continuous bilinear formsTₓM →L[ℝ] TₓM →L[ℝ] ℝ, packaged together with symmetry, non-degeneracy, smoothness in charts, and the Lorentzian condition at every point.
The "smoothness" of g is encoded via the standard idiom used by
PseudoRiemannianMetric: smoothness of the coordinate-expression in any
extended chart, applied to two arbitrary constant vectors in the model
space ℝ⁴. The four-dimensionality of M is captured by the choice of
model space EuclideanSpace ℝ (Fin 4).
The Lorentzian condition is captured by LorentzianAt: existence of a basis
b of the tangent space such that g (b i) (b j) equals
diag(-1, 1, 1, 1) i j (i.e. -1 on the 0 index of the diagonal, 1 on
the other three diagonal entries, and 0 off-diagonal).
The structure carries sorry-free statements; the structure itself is a
plain structure definition and contains no proof obligations beyond those
carried by its fields.
The model space ℝ⁴ for a spacetime, written using EuclideanSpace.
Equations
Instances For
The signature matrix diag(-1, 1, 1, 1) of a Lorentzian inner product on
ℝ⁴, written as a function Fin 4 → Fin 4 → ℝ.
Equations
- Physicslib4.lorentzSignature = Matrix.diagonal fun (i : Fin 4) => if i = 0 then -1 else 1
Instances For
A symmetric bilinear form g on a real four-dimensional vector space V is
Lorentzian if there exists a basis b : Basis (Fin 4) ℝ V of V such that
g (b i) (b j) = lorentzSignature i j for every i j : Fin 4.
This matches the blueprint condition that there is a basis relative to which
g is diag(-1, 1, 1, 1) (i.e. zero off-diagonal and -1, 1, 1, 1 on the
diagonal).
Equations
- Physicslib4.LorentzianAt g = ∃ (b : Module.Basis (Fin 4) ℝ V), ∀ (i j : Fin 4), g (b i) (b j) = Physicslib4.lorentzSignature i j
Instances For
A spacetime, in the sense of the AQFT-in-Lean blueprint (section 10.2,
def:spacetime), is a real, four-dimensional, connected, smooth, Hausdorff
manifold M equipped with a globally defined smooth tensor field g of type
(0,2) which is non-degenerate and Lorentzian.
The underlying manifold data is bundled as the carrier type Carrier together
with topological and smooth-manifold typeclass instances (Hausdorff,
connected, C^∞ ChartedSpace modelled on SpacetimeModel = ℝ⁴).
The metric g is encoded as a family of continuous bilinear forms
val : ∀ x, TₓM →L[ℝ] TₓM →L[ℝ] ℝ, with the following pointwise conditions:
symm: eachval xis symmetric;nondegenerate: eachval xis non-degenerate;lorentzian: eachval xis Lorentzian;smooth_in_charts:gvaries smoothly in any local chart, expressed by the smoothness ofy ↦ val (e.symm y) (mfderiv I I e.symm y v) (mfderiv I I e.symm y w)on the chart target, for any constant vectorsv, win the model space.
The non-degeneracy is stated as: if g x v w = 0 for every w, then v = 0.
Blueprint reference: def:spacetime.
- Carrier : Type u_1
The underlying point set of the spacetime manifold.
- topology : TopologicalSpace self.Carrier
The topology on the carrier.
The Hausdorff condition.
- connected : ConnectedSpace self.Carrier
The connectedness condition.
- chartedSpace : ChartedSpace SpacetimeModel self.Carrier
The chart structure giving the manifold a four-dimensional model space.
The model with corners used to define the smooth structure on
Carrier. Typically the trivial / boundaryless onemodelWithCornersSelf ℝ (EuclideanSpace ℝ (Fin 4)).- isManifold : IsManifold self.model ⊤ self.Carrier
Carrieris aC^∞manifold modelled onSpacetimeModel = ℝ⁴. - tangent_findim (x : self.Carrier) : FiniteDimensional ℝ (TangentSpace self.model x)
Each tangent space is finite-dimensional.
The metric tensor
g, presented as a family of continuous bilinear forms on the tangent spaces.Symmetry of
g:g x v w = g x w v.- nondegenerate (x : self.Carrier) (v : TangentSpace self.model x) : (∀ (w : TangentSpace self.model x), ((self.val x) v) w = 0) → v = 0
Non-degeneracy of
g: ifg x v w = 0for everyw, thenv = 0. - lorentzian (x : self.Carrier) : LorentzianAt fun (v w : TangentSpace self.model x) => ((self.val x) v) w
The Lorentzian condition at every point: there exists a basis of the tangent space relative to which
g xhas Gram matrixdiag(-1, 1, 1, 1). - smooth_in_charts (x₀ : self.Carrier) (v w : SpacetimeModel) : let e := extChartAt self.model x₀; ContDiffWithinAt ℝ ⊤ (fun (y : SpacetimeModel) => ((self.val (↑e.symm y)) ((mfderiv self.model self.model (↑e.symm) y) v)) ((mfderiv self.model self.model (↑e.symm) y) w)) e.target (↑e x₀)