Physicslib4.Spacetime.Basic

Spacetime #

This file formalises the notion of a spacetime used in the AQFT-in-Lean blueprint, section 10.5.

Main definitions #

Modelling notes #

Mathlib provides Riemannian metrics (Bundle.ContMDiffRiemannianMetric) but no Lorentzian or pseudo-Riemannian metric type, so the definition is unbundled into Mathlib primitives:

Physicslib4.Geometry.PseudoRiemannianMetric is derived from a Spacetime by Spacetime.toPseudoRiemannianMetric, giving access to the general pseudo-Riemannian API (the musical isomorphisms, the Levi-Civita connection).

The smoothness of g is stated in Mathlib's bundle-section idiom (ContMDiff of g as a section of the bundle of bilinear forms on the tangent bundle; see the contMDiff field), not chart by chart. 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.

@[reducible, inline]

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
    Instances For
      def Physicslib4.LorentzianAt {V : Type u_1} [AddCommGroup V] [Module ℝ V] (g : V → V → ℝ) :

      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
      Instances For
        structure Physicslib4.Spacetime :
        Type (u_1 + 1)

        A spacetime: a connected four-dimensional smooth manifold with a Lorentzian metric.

        A spacetime is a real, four-dimensional, connected, smooth, Hausdorff manifold M without boundary, together with a smooth symmetric tensor field g of type (0, 2) that is non-degenerate and Lorentzian: at every point x there is a basis of the tangent space TₓM in which g_x is diag(-1, 1, 1, 1). This is the signature convention (-, +, +, +), so a tangent vector v is timelike when g_x(v, v) < 0 (Spacetime.IsTimelike).

        The structure carries no time orientation and no topology other than the manifold topology; these are separate data (Spacetime.TimeOrientation, Spacetime.alexandrovTopology, Spacetime.LorentzianSpacetime).

        Implementation note: Mathlib has no Lorentzian metric type, so the manifold and its metric are unbundled into Mathlib primitives. The manifold is the type Carrier with instance fields for the topology, the Hausdorff and connectedness conditions, the charts modelled on SpacetimeModel (ℝ⁴) and C^∞ smoothness. The metric is the family val of continuous bilinear forms on the tangent spaces, with the conditions symm, nondegenerate, lorentzian and contMDiff. Smoothness is stated as smoothness of a section of the bundle of bilinear forms on the tangent bundle, the same shape as Bundle.ContMDiffRiemannianMetric.contMDiff, so Mathlib's bundle API (ContMDiff.clm_bundle_apply₂) gives smoothness of x ↦ g_x(V(x), W(x)) for smooth vector fields V and W. The general pseudo-Riemannian API is reached through Spacetime.toPseudoRiemannianMetric.

        Blueprint: def:spacetime

        Instances For