Imports
/- Copyright (c) 2024 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.Tensors.RealTensor.Vector.MinkowskiProduct

Vectors from Lorentz group elements

Every element of the Lorentz group defines a Lorentz vector, but it's first column.

@[expose] public section

The Lorentz vector obtained by acting the Lorentz group element Λ on basis (Sum.inl 0).

def toVector {d : } (Λ : LorentzGroup d) : Lorentz.Vector d := Λ basis (Sum.inl 0)
All goals completed! 🐙lemma toVector_neg {d : } (Λ : LorentzGroup d) : toVector (-Λ) = -toVector Λ := d:Λ:(𝓛 d)toVector (-Λ) = -toVector Λ All goals completed! 🐙@[simp] lemma toVector_apply {d : } (Λ : LorentzGroup d) (i : Fin 1 Fin d) : (toVector Λ) i = Λ.1 i (Sum.inl 0) := d:Λ:(𝓛 d)i:Fin 1 Fin dtoVector Λ i = Λ i (Sum.inl 0) All goals completed! 🐙lemma toVector_eq_fun {d : } (Λ : LorentzGroup d) : toVector Λ = (fun i => Λ.1 i (Sum.inl 0)) := d:Λ:(𝓛 d)toVector Λ = fun i => Λ i (Sum.inl 0) d:Λ:(𝓛 d)i:Fin 1 Fin dtoVector Λ i = Λ i (Sum.inl 0) All goals completed! 🐙@[fun_prop] lemma toVector_continuous {d : } : Continuous (toVector (d := d)) := d:Continuous toVector d:Continuous fun Λ => toVector Λ d:| Continuous fun Λ => toVector Λ d:Λ:(𝓛 d)| toVector Λ d:Λ:(𝓛 d)| fun i => Λ i (Sum.inl 0) d: (i : Fin 1 Fin d), Continuous fun x => x i (Sum.inl 0) d:i:Fin 1 Fin dContinuous fun x => x i (Sum.inl 0) d:i:Fin 1 Fin dContinuous Subtype.val All goals completed! 🐙lemma toVector_timeComponent {d : } (Λ : LorentzGroup d) : (toVector Λ).timeComponent = Λ.1 (Sum.inl 0) (Sum.inl 0) := d:Λ:(𝓛 d)(toVector Λ).timeComponent = Λ (Sum.inl 0) (Sum.inl 0) All goals completed! 🐙@[simp] lemma toVector_minkowskiProduct_self {d : } (Λ : LorentzGroup d) : toVector Λ, toVector Λ⟫ₘ = 1 := d:Λ:(𝓛 d)(minkowskiProduct (toVector Λ)) (toVector Λ) = 1 All goals completed! 🐙d:Λ:(𝓛 d)(minkowskiProduct (toVector Λ)) (toVector Λ) (toVector Λ).timeComponent ^ 2 All goals completed! 🐙d:Λ:(𝓛 d)h:Λ (Sum.inl 0) (Sum.inl 0) = 1i:Fin 1 Fin dh1:(fun i => Λ (Sum.inr i) (Sum.inl 0)) = 0j:Fin d0 j = 0 All goals completed! 🐙d:Λ:(𝓛 d)v:Lorentz.Vector di:Fin dΛ (Sum.inl 0) (Sum.inr i) * v (Sum.inr i) = -(v (Sum.inr i) * (minkowskiMatrix (Sum.inr i) (Sum.inr i) * Λ (Sum.inl 0) (Sum.inr i) * minkowskiMatrix (Sum.inl 0) (Sum.inl 0))) d:Λ:(𝓛 d)v:Lorentz.Vector di:Fin dΛ (Sum.inl 0) (Sum.inr i) * v (Sum.inr i) = v (Sum.inr i) * Λ (Sum.inl 0) (Sum.inr i) All goals completed! 🐙