Documentation

Physicslib4.Spacetime.CausalStructure

Causal structure on a spacetime #

This file formalises the pointwise causal structure attached to a spacetime, following section 10.2 of the AQFT-in-Lean blueprint.

Main definitions #

Modelling notes #

Mathlib does not currently package "smooth vector field" as a single named type. We use the obvious unbundled form: a function t : ∀ x, TangentSpace M.model x together with two pointwise predicates (non-vanishing and timelike) and an unbundled smoothness statement carried as a Prop field. Smoothness of a section of the tangent bundle is captured exactly as in Spacetime.smooth_in_charts: by writing the chart-local expression and requiring ContDiffWithinAt.

For the null future/past-pointing case we follow the blueprint and define future-pointing null vectors as the closure (in the obvious tangent space topology coming from TangentSpace M.model x ≃ ℝ⁴) of the set of future-pointing timelike vectors. We capture this with the existence of a sequence of future-pointing timelike vectors tending to n. The underlying topology on each tangent space is inherited from Mathlib's tangent space typeclass instances.

Classification of tangent vectors #

A tangent vector v ∈ T_pM is timelike if g|_p(v,v) < 0.

Equations
Instances For

    A tangent vector v ∈ T_pM is spacelike if g|_p(v,v) > 0.

    Equations
    Instances For

      A tangent vector v ∈ T_pM is null if g|_p(v,v) = 0.

      Equations
      Instances For

        Basic classification lemmas #

        Every tangent vector falls into exactly one of the three classes, fixed by the sign of g|_p(v,v).

        Causal trichotomy: every tangent vector is timelike, null, or spacelike.

        A timelike vector is not spacelike.

        A spacelike vector is not timelike.

        A timelike vector is not null.

        A spacelike vector is not null.

        The zero tangent vector is null.

        Scaling invariance of the causal classification #

        The causal type of a tangent vector depends only on the sign of g(v,v), which scales quadratically under v ↦ c • v. Hence for c ≠ 0 the timelike / null / spacelike classification is invariant under scaling — the algebraic fact behind reparametrisation-invariance of the causal type of a curve.

        theorem Physicslib4.Spacetime.val_smul_smul (M : Spacetime) {x : M.Carrier} (c : ) (v : TangentSpace M.model x) :
        ((M.val x) (c v)) (c v) = c ^ 2 * ((M.val x) v) v

        The metric square scales quadratically: g(c•v, c•v) = c² · g(v,v).

        theorem Physicslib4.Spacetime.isTimelike_smul_iff (M : Spacetime) {x : M.Carrier} {c : } (hc : c 0) (v : TangentSpace M.model x) :

        Scaling invariance of timelikeness. For c ≠ 0, c • v is timelike iff v is.

        theorem Physicslib4.Spacetime.isNull_smul_iff (M : Spacetime) {x : M.Carrier} {c : } (hc : c 0) (v : TangentSpace M.model x) :
        M.IsNull (c v) M.IsNull v

        Scaling invariance of nullness. For c ≠ 0, c • v is null iff v is.

        Scaling invariance of spacelikeness. For c ≠ 0, c • v is spacelike iff v is.

        Time orientation #

        A time orientation on a spacetime M is a smooth, non-vanishing, everywhere-timelike vector field on M.

        We unbundle the data as:

        • field : ∀ x, T_xM, the pointwise tangent vector;
        • nonvanishing: field x ≠ 0 for all x;
        • timelike_at: field x is timelike at every x;
        • smooth: smoothness of the section in any extended chart, expressed via the chart-local form of the field. This is a genuine Prop field of the structure (a ContDiffWithinAt condition on the chart-local representative), discharged for concrete time orientations — see standardMinkowskiTimeOrientation in Minkowski.lean.
        Instances For

          A spacetime M is time-orientable if it admits a time orientation.

          Equations
          Instances For

            Future and past pointing vectors #

            A timelike tangent vector v is future-pointing with respect to a time orientation t if g|_p(t,v) < 0. The blueprint also extends this notion to null vectors by taking limits of timelike future-pointing vectors.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              A timelike tangent vector v is past-pointing with respect to a time orientation t if g|_p(t,v) > 0. The blueprint also extends this notion to null vectors by taking limits of timelike past-pointing vectors.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Future/past-pointing classification lemmas #

                A future-pointing vector is either timelike or null.

                A past-pointing vector is either timelike or null.

                A timelike vector cannot be both future-pointing and past-pointing with respect to a fixed time orientation.

                Positive-scaling invariance of orientation #

                Unlike the causal type (invariant under any non-zero scaling), future/past- pointing is preserved only under scaling by a positive scalar — scaling by a negative one swaps the two. This is the algebraic fact behind the reparametrisation-invariance of the orientation of a curve under orientation-preserving reparametrisations.

                theorem Physicslib4.Spacetime.val_field_smul (M : Spacetime) (t : M.TimeOrientation) {x : M.Carrier} (c : ) (v : TangentSpace M.model x) :
                ((M.val x) (t.field x)) (c v) = c * ((M.val x) (t.field x)) v

                Linearity of the metric in the second argument: g(t, c • v) = c · g(t, v).

                theorem Physicslib4.Spacetime.isFuturePointing_smul_of (M : Spacetime) (t : M.TimeOrientation) {x : M.Carrier} {c : } (hc : 0 < c) {v : TangentSpace M.model x} (h : M.IsFuturePointing t v) :

                Positive scaling preserves future-pointing (forward direction).

                Positive-scaling invariance of future-pointing. For c > 0, c • v is future-pointing iff v is.

                theorem Physicslib4.Spacetime.isPastPointing_smul_of (M : Spacetime) (t : M.TimeOrientation) {x : M.Carrier} {c : } (hc : 0 < c) {v : TangentSpace M.model x} (h : M.IsPastPointing t v) :

                Positive scaling preserves past-pointing (forward direction).

                Positive-scaling invariance of past-pointing. For c > 0, c • v is past-pointing iff v is.