Imports
/-
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Relativity.LorentzGroup.Boosts.Basic
public import Physlib.SpaceAndTime.SpaceTime.BasicBoosts of space time
i. Overview
In this module we consider boosts acting on points in space time,and recover simple formulae for such applications.
Note that the material here currently assumes that the speed of light c = 1.
ii. Key results
boost_x_smul : The action of a boost in the x-direction on a point in space time.
iii. Table of contents
A. The action of a boost in the x-direction
iv. References
See e.g.
https://en.wikipedia.org/wiki/Lorentz_transformation
@[expose] public sectionA. The action of a boost in the x-direction
We show that boosting in the x-direction takes (t, x, y, z) to
(γ (t - β x), γ (x - β t), y, z).
lemma boost_x_smul (β : ℝ) (hβ : |β| < 1) (x : SpaceTime) :
LorentzGroup.boost (d := 3) 0 β hβ • x =
fun | Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1=> x (Sum.inr 1)
| Sum.inr 2=> x (Sum.inr 2) := β:ℝhβ:|β| < 1x:SpaceTime⊢ boost 0 β hβ • x = fun x_1 =>
match x_1 with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)
β:ℝhβ:|β| < 1x:SpaceTimei:Fin 1 ⊕ Fin 3⊢ (boost 0 β hβ • x) i =
match i with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)
β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inl ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inl ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2) β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inl ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inl ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨0, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨0, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨1, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨1, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)β:ℝhβ:|β| < 1x:SpaceTime⊢ (boost 0 β hβ • x) (Sum.inr ((fun i => i) ⟨2, ⋯⟩)) =
match Sum.inr ((fun i => i) ⟨2, ⋯⟩) with
| Sum.inl 0 => γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))
| Sum.inr 0 => γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
| Sum.inr 1 => x (Sum.inr 1)
| Sum.inr 2 => x (Sum.inr 2)
All goals completed! 🐙 β:ℝhβ:|β| < 1x:SpaceTime⊢ γ β * x (Sum.inl 0) + -(γ β * β * x (Sum.inr 0)) = γ β * (x (Sum.inl 0) - β * x (Sum.inr 0))β:ℝhβ:|β| < 1x:SpaceTime⊢ -(γ β * β * x (Sum.inl 0)) + γ β * x (Sum.inr 0) = γ β * (x (Sum.inr 0) - β * x (Sum.inl 0))
All goals completed! 🐙d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr ⟨n, ⋯⟩.succ) * x.val ⟨n, ⋯⟩.succ = x.val ⟨n + 1, h⟩h₀ d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ∀ b ∈ Finset.univ, b ≠ ⟨n, ⋯⟩ → ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr b.succ) * x.val b.succ = 0h₁ d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ⟨n, ⋯⟩ ∉ Finset.univ → ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr ⟨n, ⋯⟩.succ) * x.val ⟨n, ⋯⟩.succ = 0 <;> d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr ⟨n, ⋯⟩.succ) * x.val ⟨n, ⋯⟩.succ = x.val ⟨n + 1, h⟩h₀ d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ∀ b ∈ Finset.univ, b ≠ ⟨n, ⋯⟩ → ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr b.succ) * x.val b.succ = 0h₁ d:ℕβ:ℝhβ:|β| < 1c:SpeedOfLightt:Timex:Space d.succμ:Fin 1 ⊕ Fin d.succn:ℕh:n.succ < d.succ⊢ ⟨n, ⋯⟩ ∉ Finset.univ → ↑(boost 0 (-β) ⋯) (Sum.inr ⟨n + 1, h⟩) (Sum.inr ⟨n, ⋯⟩.succ) * x.val ⟨n, ⋯⟩.succ = 0
simp +contextual [boost_inr_inr_other, Fin.ext_iff] All goals completed! 🐙