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.LorentzAlgebra.Basic

Generators of the Lorentz Algebra

This file defines the 6 standard generators of the Lorentz algebra so(1,3) :

    Boost generators K₀, K₁, K₂: Generate Lorentz transformations (velocity changes)

    Rotation generators J₀, J₁, J₂: Generate spatial rotations

These generators form a basis for the 6-dimensional Lie algebra so(1,3), though the full basis structure (linear independence and spanning) is not yet proven here.

Physical Interpretation

    boostGenerator i: Infinitesimal boost in the i-th spatial direction. Exponentiating this generator produces finite Lorentz boosts.

    rotationGenerator i: Infinitesimal rotation about the i-th axis following the right-hand rule. Exponentiating this generator produces spatial rotations.

Mathematical Structure

Each generator satisfies the Lorentz algebra condition: Aᵀ η = -η A, where η is the Minkowski metric with signature (+,-,-,-).

The boost generators are symmetric matrices with non-zero entries only in the time-space block, while rotation generators are antisymmetric matrices acting only on spatial indices.

References

    Weinberg, The Quantum Theory of Fields, Vol 1, Section 2.7

    Peskin & Schroeder, An Introduction to QFT, Appendix A

Future Work

TODO can be completed by proving linear independence and spanning of these 6 generators, then constructing a formal Basis (Fin 2 × Fin 3) ℝ lorentzAlgebra.

@[expose] public section

The boost generator K_i in the Lorentz algebra so(1,3).

This matrix generates infinitesimal Lorentz boosts in the i-th spatial direction. The matrix has non-zero entries only at positions (0, i+1) and (i+1, 0) with value 1, where we use the index convention 0 = time, 1,2,3 = space.

Properties

    Symmetric: K_iᵀ = K_i

    Traceless: tr(K_i) = 0

    Satisfies Lorentz algebra condition: K_iᵀ η = -η K_i

Physical Meaning

Exponentiating β·K_i produces a finite Lorentz boost with rapidity β in direction i.

def boostGenerator (i : Fin 3) : Matrix (Fin 1 Fin 3) (Fin 1 Fin 3) := fun μ ν => if (μ = Sum.inl 0 ν = Sum.inr i) (μ = Sum.inr i ν = Sum.inl 0) then 1 else 0

The rotation generator J_i in the Lorentz algebra so(1,3).

This matrix generates infinitesimal rotations about the i-th axis following the right-hand rule. The matrix acts only on spatial indices in the antisymmetric pattern characteristic of angular momentum generators.

Properties

    Antisymmetric: J_iᵀ = -J_i

    Traceless: tr(J_i) = 0

    Satisfies Lorentz algebra condition: J_iᵀ η = -η J_i

Structure

    J_0 (rotation about x-axis) : Acts on (y,z) components

    J_1 (rotation about y-axis) : Acts on (z,x) components

    J_2 (rotation about z-axis) : Acts on (x,y) components

Physical Meaning

Exponentiating θ·J_i produces a finite rotation by angle θ about axis i.

def rotationGenerator (i : Fin 3) : Matrix (Fin 1 Fin 3) (Fin 1 Fin 3) := fun μ ν => match i with | 0 => if μ = Sum.inr 1 ν = Sum.inr 2 then -1 else if μ = Sum.inr 2 ν = Sum.inr 1 then 1 else 0 | 1 => if μ = Sum.inr 0 ν = Sum.inr 2 then 1 else if μ = Sum.inr 2 ν = Sum.inr 0 then -1 else 0 | 2 => if μ = Sum.inr 0 ν = Sum.inr 1 then -1 else if μ = Sum.inr 1 ν = Sum.inr 0 then 1 else 0

The boost generator K_i is in the Lorentz algebra.

i:Fin 3(boostGenerator i) * minkowskiMatrix = -minkowskiMatrix * boostGenerator i i:Fin 3μ:Fin 1 Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) μ ν = (-minkowskiMatrix * boostGenerator i) μ ν i:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) ν i:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) νi:Fin 3ν:Fin 1 Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) ν i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))i:Fin 3((boostGenerator i) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * boostGenerator i) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) All goals completed! 🐙

The rotation generator J_i is in the Lorentz algebra.

i:Fin 3(rotationGenerator i) * minkowskiMatrix = -minkowskiMatrix * rotationGenerator i i:Fin 3μ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator i) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator i) μ ν μ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) μ ν μ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) μ ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) μ ν ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν ν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) ν = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν ((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 0, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 1, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))((rotationGenerator ((fun i => i) 2, )) * minkowskiMatrix) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-minkowskiMatrix * rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) All goals completed! 🐙

The boost generators are symmetric.

@[simp] lemma boostGenerator_transpose (i : Fin 3) : (boostGenerator i) = boostGenerator i := i:Fin 3(boostGenerator i) = boostGenerator i i:Fin 3μ:Fin 1 Fin 3ν:Fin 1 Fin 3(boostGenerator i) μ ν = boostGenerator i μ ν All goals completed! 🐙

The boost generators are traceless.

@[simp] lemma boostGenerator_trace (i : Fin 3) : Matrix.trace (boostGenerator i) = 0 := i:Fin 3(boostGenerator i).trace = 0 All goals completed! 🐙

The rotation generators are antisymmetric.

@[simp] lemma rotationGenerator_transpose (i : Fin 3) : (rotationGenerator i) = -rotationGenerator i := i:Fin 3(rotationGenerator i) = -rotationGenerator i i:Fin 3μ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator i) μ ν = (-rotationGenerator i) μ ν μ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) μ ν = (-rotationGenerator ((fun i => i) 0, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) μ ν = (-rotationGenerator ((fun i => i) 1, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) μ ν = (-rotationGenerator ((fun i => i) 2, )) μ ν μ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) μ ν = (-rotationGenerator ((fun i => i) 0, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) μ ν = (-rotationGenerator ((fun i => i) 1, )) μ νμ:Fin 1 Fin 3ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) μ ν = (-rotationGenerator ((fun i => i) 2, )) μ ν ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν ν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) ν = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) ν = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) ν = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) ν = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) νν:Fin 1 Fin 3(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) ν (rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) (Sum.inr ((fun i => i) 2, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inl ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 0, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 1, ))(rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) = (-rotationGenerator ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) (Sum.inr ((fun i => i) 2, )) All goals completed! 🐙

The rotation generators are traceless.

i:Fin 3h:-(rotationGenerator i).trace = (rotationGenerator i).trace(rotationGenerator i).trace = 0 All goals completed! 🐙