Documentation

TauCeti.Analysis.PDE.Parabolic.SpaceTime.Basic

Parabolic space-time #

The heat operator ∂ₜ - Δ scales one time derivative like two spatial derivatives, so the natural distance on space-time E × ℝ is the parabolic distance d((x, t), (y, s)) = dist x y + √|t - s|. Hölder spaces for parabolic equations are defined with respect to this distance.

This file builds the parabolic distance from existing Mathlib constructions rather than putting a second metric on E × ℝ. Time carries Mathlib's half-power snowflake metric Metric.Snowflaking ℝ (1 / 2), whose distance is |t - s| ^ (1 / 2), and space-time is the WithLp 1 product of E with this snowflake, whose distance is the sum of the two factor distances. The topology is the ordinary product topology on E × ℝ.

Main declarations #

References #

@[reducible, inline]

Real time with the parabolic half-power metric dist t s = |t - s| ^ (1 / 2).

Instances For
    @[reducible, inline]
    abbrev TauCeti.ParabolicSpaceTime (E : Type u_1) :
    Type u_1

    Space-time E × ℝ with the parabolic distance dist x y + √|t - s|: the L¹ product of E with the half-power snowflake of real time.

    Instances For
      noncomputable def TauCeti.ParabolicSpaceTime.ofCoords {E : Type u_1} (x : E) (t : ℝ) :

      The point of parabolic space-time with spatial position x and time t.

      Instances For

        The spatial coordinate of a point of parabolic space-time.

        Instances For
          noncomputable def TauCeti.ParabolicSpaceTime.time {E : Type u_1} (p : ParabolicSpaceTime E) :

          The real time coordinate of a point of parabolic space-time.

          Instances For
            @[simp]
            theorem TauCeti.ParabolicSpaceTime.space_ofCoords {E : Type u_1} (x : E) (t : ℝ) :
            (ofCoords x t).space = x
            @[simp]
            theorem TauCeti.ParabolicSpaceTime.time_ofCoords {E : Type u_1} (x : E) (t : ℝ) :
            (ofCoords x t).time = t
            theorem TauCeti.ParabolicSpaceTime.ext {E : Type u_1} {p q : ParabolicSpaceTime E} (hspace : p.space = q.space) (htime : p.time = q.time) :
            p = q

            Points of parabolic space-time with the same coordinates are equal.

            Closed time slabs #

            noncomputable def TauCeti.ParabolicSpaceTime.slab {E : Type u_1} (a b : ℝ) :

            The closed time slab E × [a, b] in parabolic space-time.

            Instances For
              @[simp]
              theorem TauCeti.ParabolicSpaceTime.mem_slab {E : Type u_1} {a b : ℝ} {p : ParabolicSpaceTime E} :
              p ∈ slab a b ↔ p.time ∈ Set.Icc a b
              noncomputable def TauCeti.ParabolicSpaceTime.slabMk {E : Type u_1} {a b : ℝ} (x : E) (t : ↑(Set.Icc a b)) :
              ↑(slab a b)

              The point of the slab E × [a, b] with spatial position x and time t ∈ [a, b].

              Instances For
                @[simp]
                theorem TauCeti.ParabolicSpaceTime.space_slabMk {E : Type u_1} {a b : ℝ} (x : E) (t : ↑(Set.Icc a b)) :
                (↑(slabMk x t)).space = x
                @[simp]
                theorem TauCeti.ParabolicSpaceTime.time_slabMk {E : Type u_1} {a b : ℝ} (x : E) (t : ↑(Set.Icc a b)) :
                (↑(slabMk x t)).time = ↑t
                noncomputable def TauCeti.ParabolicSpaceTime.slabTime {E : Type u_1} {a b : ℝ} (p : ↑(slab a b)) :
                ↑(Set.Icc a b)

                The time coordinate of a point of the slab E × [a, b], as an element of [a, b].

                Instances For
                  @[simp]
                  theorem TauCeti.ParabolicSpaceTime.coe_slabTime {E : Type u_1} {a b : ℝ} (p : ↑(slab a b)) :
                  ↑(slabTime p) = (↑p).time
                  @[simp]
                  theorem TauCeti.ParabolicSpaceTime.slabTime_slabMk {E : Type u_1} {a b : ℝ} (x : E) (t : ↑(Set.Icc a b)) :
                  slabTime (slabMk x t) = t
                  @[simp]
                  theorem TauCeti.ParabolicSpaceTime.slabMk_space_slabTime {E : Type u_1} {a b : ℝ} (p : ↑(slab a b)) :
                  slabMk (↑p).space (slabTime p) = p

                  Every point of a slab is given by its coordinates.

                  theorem TauCeti.ParabolicSpaceTime.slab_subset_slab {E : Type u_1} {a b a' b' : ℝ} (ha : a ≤ a') (hb : b' ≤ b) :
                  slab a' b' ⊆ slab a b

                  A slab over a smaller time interval is contained in the larger slab.

                  @[simp]
                  theorem TauCeti.ParabolicSpaceTime.inclusion_slabMk {E : Type u_1} {a b a' b' : ℝ} (h : slab a' b' ⊆ slab a b) (x : E) (t : ↑(Set.Icc a' b')) :
                  Set.inclusion h (slabMk x t) = slabMk x ⟨↑t, ⋯⟩

                  Including a smaller slab into a larger one keeps the coordinates of a point.

                  noncomputable def TauCeti.ParabolicSpaceTime.slabSpaceMap {E : Type u_1} {E' : Type u_2} {a b : ℝ} (f : E → E') (p : ↑(slab a b)) :
                  ↑(slab a b)

                  A spatial map f acting on the slab E × [a, b], by (x, t) ↦ (f x, t).

                  Instances For
                    @[simp]
                    theorem TauCeti.ParabolicSpaceTime.slabSpaceMap_slabMk {E : Type u_1} {E' : Type u_2} {a b : ℝ} (f : E → E') (x : E) (t : ↑(Set.Icc a b)) :
                    slabSpaceMap f (slabMk x t) = slabMk (f x) t
                    @[simp]
                    theorem TauCeti.ParabolicSpaceTime.slabSpaceMap_slabSpaceMap {E : Type u_1} {E' : Type u_2} {E'' : Type u_3} {a b : ℝ} (f : E' → E'') (g : E → E') (p : ↑(slab a b)) :
                    theorem TauCeti.ParabolicSpaceTime.edist_ofCoords {E : Type u_1} [PseudoEMetricSpace E] (x y : E) (t s : ℝ) :
                    edist (ofCoords x t) (ofCoords y s) = edist x y + edist t s ^ (1 / 2)

                    The extended parabolic distance in coordinates: edist x y + edist t s ^ (1 / 2).

                    The extended parabolic distance is the spatial distance plus the square root of the time distance.

                    theorem TauCeti.ParabolicSpaceTime.edist_slabMk {E : Type u_1} [PseudoEMetricSpace E] {a b : ℝ} (x y : E) (t s : ↑(Set.Icc a b)) :
                    edist (slabMk x t) (slabMk y s) = edist x y + edist t s ^ (1 / 2)

                    The extended parabolic distance between two points of a slab, in coordinates.

                    theorem TauCeti.ParabolicSpaceTime.edist_slabMk_same_space_rpow {E : Type u_1} [PseudoEMetricSpace E] {a b : ℝ} (x : E) (t s : ↑(Set.Icc a b)) (α : NNReal) :
                    edist (slabMk x t) (slabMk x s) ^ ↑α = edist t s ^ ↑(α / 2)

                    At a common position, the α-th power of the parabolic distance between two points of a slab is the α / 2-th power of the time distance.

                    theorem TauCeti.ParabolicSpaceTime.lipschitzWith_slabSpace {E : Type u_1} [PseudoEMetricSpace E] {a b : ℝ} :
                    LipschitzWith 1 fun (p : ↑(slab a b)) => (↑p).space

                    The spatial position of a point of a slab is 1-Lipschitz for the parabolic distance.

                    theorem TauCeti.ParabolicSpaceTime.lipschitzWith_slabSpaceMap {E : Type u_1} [PseudoEMetricSpace E] {E' : Type u_2} [PseudoEMetricSpace E'] {a b : ℝ} {K : NNReal} {f : E → E'} (hf : LipschitzWith K f) :

                    A K-Lipschitz spatial map acts on a slab as a max K 1-Lipschitz map for the parabolic distance.

                    theorem TauCeti.ParabolicSpaceTime.dist_ofCoords {E : Type u_1} [PseudoMetricSpace E] (x y : E) (t s : ℝ) :
                    dist (ofCoords x t) (ofCoords y s) = dist x y + √|t - s|

                    The parabolic distance formula d((x, t), (y, s)) = dist x y + √|t - s|.

                    The parabolic distance is the spatial distance plus the square root of the time distance.

                    At parabolic distance at most one, the time-coordinate difference is bounded by the parabolic distance.

                    @[simp]

                    At a common time, the parabolic distance is the spatial distance.

                    @[simp]

                    At a common spatial position, the parabolic distance is the square root of the time distance.

                    The homeomorphism between parabolic space-time and ordinary space-time E × ℝ. Functions on parabolic space-time are differentiated by transporting them along this map.

                    Instances For

                      Building a point from its coordinates is jointly continuous in (x, t).

                      theorem TauCeti.ParabolicSpaceTime.continuous_slabMk {E : Type u_1} [PseudoMetricSpace E] {a b : ℝ} :
                      Continuous fun (z : E × ↑(Set.Icc a b)) => slabMk z.1 z.2

                      Building a point of a slab from its coordinates is jointly continuous in (x, t).

                      noncomputable def TauCeti.ParabolicSpaceTime.spatialSlice {E : Type u_1} [PseudoMetricSpace E] {a b : ℝ} (t : ↑(Set.Icc a b)) :
                      C(E, ↑(slab a b))

                      The spatial slice x ↦ (x, t) of a slab at the time t, as a continuous map.

                      Instances For
                        @[simp]
                        theorem TauCeti.ParabolicSpaceTime.spatialSlice_apply {E : Type u_1} [PseudoMetricSpace E] {a b : ℝ} (t : ↑(Set.Icc a b)) (x : E) :
                        noncomputable def TauCeti.ParabolicSpaceTime.timeSlice {E : Type u_1} [PseudoMetricSpace E] {a b : ℝ} (x : E) :
                        C(↑(Set.Icc a b), ↑(slab a b))

                        The time slice t ↦ (x, t) of a slab at the position x, as a continuous map.

                        Instances For
                          @[simp]
                          theorem TauCeti.ParabolicSpaceTime.timeSlice_apply {E : Type u_1} [PseudoMetricSpace E] {a b : ℝ} (x : E) (t : ↑(Set.Icc a b)) :
                          (timeSlice x) t = slabMk x t

                          Time reversal #

                          Reversal of time about T, (x, t) ↦ (x, T - t), an isometry of parabolic space-time.

                          Instances For
                            @[simp]

                            Time reversal about T is an involution.

                            Reversal of time about T exchanges the slabs E × [a, b] and E × [T - b, T - a].

                            noncomputable def TauCeti.ParabolicSpaceTime.slabTimeReverse {E : Type u_1} [PseudoMetricSpace E] (T : ℝ) {a b a' b' : ℝ} (ha : a' = T - b) (hb : b' = T - a) :
                            ↑(slab a' b') ≃ᵢ ↑(slab a b)

                            Reversal of time about T, as an isometry from the slab E × [a', b'] onto the slab E × [a, b], where a' = T - b and b' = T - a.

                            Instances For
                              @[simp]
                              theorem TauCeti.ParabolicSpaceTime.slabTimeReverse_slabMk {E : Type u_1} [PseudoMetricSpace E] (T : ℝ) {a b a' b' : ℝ} (ha : a' = T - b) (hb : b' = T - a) (x : E) (t : ↑(Set.Icc a' b')) :
                              (slabTimeReverse T ha hb) (slabMk x t) = slabMk x ⟨T - ↑t, ⋯⟩

                              Time reversal between slabs sends (x, t) to (x, T - t).

                              @[simp]
                              theorem TauCeti.ParabolicSpaceTime.coe_slabTimeReverse {E : Type u_1} [PseudoMetricSpace E] (T : ℝ) {a b a' b' : ℝ} (ha : a' = T - b) (hb : b' = T - a) (p : ↑(slab a' b')) :
                              ↑((slabTimeReverse T ha hb) p) = (timeReverse T) ↑p
                              @[simp]
                              theorem TauCeti.ParabolicSpaceTime.slabTimeReverse_symm {E : Type u_1} [PseudoMetricSpace E] (T : ℝ) {a b a' b' : ℝ} (ha : a' = T - b) (hb : b' = T - a) :

                              The inverse of time reversal between slabs is time reversal in the opposite direction.