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.Fermions.Weyl.Two
public import Physlib.Relativity.Tensors.ComplexTensor.Vector.Pre.BasicPauli matrices as a tensor
The results in this file are primarily used to show that
the pauli matrices in invariant under the SL(2,ℂ) action.
@[expose] public section
The tensor σ^μ^a^{dot a} based on the Pauli-matrices as an element of
complexContr ⊗ leftHanded ⊗ rightHanded.
def asTensor : (ContrℂModule ⊗[ℂ] (LeftHandedWeyl ⊗[ℂ] RightHandedWeyl)) :=
∑ i, complexContrBasis i ⊗ₜ leftRightToMatrix.symm (pauliBasis i)
The expansion of asTensor into complexContrBasis basis vectors .
lemma asTensor_expand_complexContrBasis : asTensor =
complexContrBasis (Sum.inl 0) ⊗ₜ leftRightToMatrix.symm (pauliBasis (Sum.inl 0))
+ complexContrBasis (Sum.inr 0) ⊗ₜ leftRightToMatrix.symm (pauliBasis (Sum.inr 0))
+ complexContrBasis (Sum.inr 1) ⊗ₜ leftRightToMatrix.symm (pauliBasis (Sum.inr 1))
+ complexContrBasis (Sum.inr 2) ⊗ₜ leftRightToMatrix.symm (pauliBasis (Sum.inr 2)) := ⊢ asTensor =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inl 0)) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2))
All goals completed! 🐙
The expansion of the pauli matrix σ₀ in terms of a basis of tensor product vectors.
⊢ ∑ i, ∑ j, ↑(pauliBasis (Sum.inl 0)) i j • LeftHandedWeyl.basis i ⊗ₜ[ℂ] RightHandedWeyl.basis j =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 + LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1
simp [pauliBasis, pauliSelfAdjoint, pauliMatrix] All goals completed! 🐙
The expansion of the pauli matrix σ₁ in terms of a basis of tensor product vectors.
lemma leftRightToMatrix_σSA_inr_0_expand : leftRightToMatrix.symm (pauliBasis (Sum.inr 0)) =
LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 0:= by ⊢ leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 + LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0
rw [leftRightToMatrix_symm_expand_tmul ⊢ ∑ i, ∑ j, ↑(pauliBasis (Sum.inr 0)) i j • LeftHandedWeyl.basis i ⊗ₜ[ℂ] RightHandedWeyl.basis j =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 + LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 ⊢ ∑ i, ∑ j, ↑(pauliBasis (Sum.inr 0)) i j • LeftHandedWeyl.basis i ⊗ₜ[ℂ] RightHandedWeyl.basis j =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 + LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0] ⊢ ∑ i, ∑ j, ↑(pauliBasis (Sum.inr 0)) i j • LeftHandedWeyl.basis i ⊗ₜ[ℂ] RightHandedWeyl.basis j =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 + LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0
simp [pauliBasis, pauliSelfAdjoint, pauliMatrix] All goals completed! 🐙
The expansion of the pauli matrix σ₂ in terms of a basis of tensor product vectors.
lemma leftRightToMatrix_σSA_inr_1_expand : leftRightToMatrix.symm (pauliBasis (Sum.inr 1)) =
-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 := by ⊢ leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) =
-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) + I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0
simp [leftRightToMatrix_symm_expand_tmul, pauliBasis, pauliSelfAdjoint, pauliMatrix] ⊢ -I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 = -(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
module All goals completed! 🐙
The expansion of the pauli matrix σ₃ in terms of a basis of tensor product vectors.
set_option backward.isDefEq.respectTransparency false inlemma leftRightToMatrix_σSA_inr_2_expand : leftRightToMatrix.symm (pauliBasis (Sum.inr 2)) =
LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 0 -
LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 1 := by ⊢ leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1
simp [leftRightToMatrix_symm_expand_tmul, pauliBasis, pauliSelfAdjoint, pauliMatrix] ⊢ LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 + -1 • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 =
LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1
module All goals completed! 🐙
The expansion of asTensor into complexContrBasis basis of tensor product vectors.
lemma asTensor_expand : asTensor =
complexContrBasis (Sum.inl 0) ⊗ₜ (LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 0)
+ complexContrBasis (Sum.inl 0) ⊗ₜ (LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 1)
+ complexContrBasis (Sum.inr 0) ⊗ₜ (LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 1)
+ complexContrBasis (Sum.inr 0) ⊗ₜ (LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 0)
- I • complexContrBasis (Sum.inr 1) ⊗ₜ (LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 1)
+ I • complexContrBasis (Sum.inr 1) ⊗ₜ (LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 0)
+ complexContrBasis (Sum.inr 2) ⊗ₜ (LeftHandedWeyl.basis 0 ⊗ₜ RightHandedWeyl.basis 0)
- complexContrBasis (Sum.inr 2) ⊗ₜ (LeftHandedWeyl.basis 1 ⊗ₜ RightHandedWeyl.basis 1) := by ⊢ asTensor =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
rw [asTensor_expand_complexContrBasis ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inl 0)) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inl 0)) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)] ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inl 0)) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
rw [leftRightToMatrix_σSA_inl_0_expand, ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 0)) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) leftRightToMatrix_σSA_inr_0_expand, ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 1)) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
leftRightToMatrix_σSA_inr_1_expand, ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis (Sum.inr 2)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) leftRightToMatrix_σSA_inr_2_expand ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)] ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1 +
LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ]
(-(I • LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ]
(LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0 - LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
simp only [Fin.isValue, tmul_add, tmul_neg, tmul_smul, tmul_sub] ⊢ complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
(complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0)) +
(-(I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0)) +
(complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)) =
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inl 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
complexContrBasis (Sum.inr 0) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 1) +
I • complexContrBasis (Sum.inr 1) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) +
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 0 ⊗ₜ[ℂ] RightHandedWeyl.basis 0) -
complexContrBasis (Sum.inr 2) ⊗ₜ[ℂ] (LeftHandedWeyl.basis 1 ⊗ₜ[ℂ] RightHandedWeyl.basis 1)
rfl All goals completed! 🐙
The tensor σ^μ^a^{dot a} based on the Pauli-matrices as a morphism,
𝟙_ (Rep ℂ SL(2,ℂ)) ⟶ complexContr ⊗ leftHanded ⊗ rightHanded manifesting
the invariance under the SL(2,ℂ) action.
set_option backward.isDefEq.respectTransparency false in
def asConsTensor :
(Representation.trivial ℂ SL(2,ℂ) ℂ).IntertwiningMap
(ContrℂModule.SL2CRep.tprod (LeftHandedWeyl.rep.tprod RightHandedWeyl.rep)) where
toFun := fun a =>
let a' : ℂ := a
a' • asTensor
map_add' := fun x y => by x:ℂy:ℂ⊢ (let a' := x + y;
a' • asTensor) =
(let a' := x;
a' • asTensor) +
let a' := y;
a' • asTensor
simp only [add_smul] All goals completed! 🐙
map_smul' := fun m x => by m:ℂx:ℂ⊢ (let a' := m • x;
a' • asTensor) =
(RingHom.id ℂ) m •
let a' := x;
a' • asTensor
simp only [smul_smul] m:ℂx:ℂ⊢ (m • x) • asTensor = ((RingHom.id ℂ) m * x) • asTensor
rfl All goals completed! 🐙
isIntertwining' M := by M:SL(2, ℂ)⊢ {
toFun := fun a =>
let a' := a;
a' • asTensor,
map_add' := ⋯, map_smul' := ⋯ } ∘ₗ
(Representation.trivial ℂ SL(2, ℂ) ℂ) M =
(ContrℂModule.SL2CRep.tprod (LeftHandedWeyl.rep.tprod RightHandedWeyl.rep)) M ∘ₗ
{
toFun := fun a =>
let a' := a;
a' • asTensor,
map_add' := ⋯, map_smul' := ⋯ }
refine LinearMap.ext fun x : ℂ => ?_ M:SL(2, ℂ)x:ℂ⊢ ({
toFun := fun a =>
let a' := a;
a' • asTensor,
map_add' := ⋯, map_smul' := ⋯ } ∘ₗ
(Representation.trivial ℂ SL(2, ℂ) ℂ) M)
x =
((ContrℂModule.SL2CRep.tprod (LeftHandedWeyl.rep.tprod RightHandedWeyl.rep)) M ∘ₗ
{
toFun := fun a =>
let a' := a;
a' • asTensor,
map_add' := ⋯, map_smul' := ⋯ })
x
change x • asTensor =
(TensorProduct.map (ContrℂModule.SL2CRep M)
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M))) (x • asTensor) M:SL(2, ℂ)x:ℂ⊢ x • asTensor =
(TensorProduct.map (ContrℂModule.SL2CRep M) (TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)))
(x • asTensor)
simp only [map_smul] M:SL(2, ℂ)x:ℂ⊢ x • asTensor =
x •
(TensorProduct.map (ContrℂModule.SL2CRep M) (TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)))
asTensor
apply congrArg M:SL(2, ℂ)x:ℂ⊢ asTensor =
(TensorProduct.map (ContrℂModule.SL2CRep M) (TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)))
asTensor
nth_rewrite 2 [asTensor] M:SL(2, ℂ)x:ℂ⊢ asTensor =
(TensorProduct.map (ContrℂModule.SL2CRep M) (TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)))
(∑ i, complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i))
simp only [map_sum, map_tmul] M:SL(2, ℂ)x:ℂ⊢ asTensor =
∑ x,
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x))
symm M:SL(2, ℂ)x:ℂ⊢ ∑ x,
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x)) =
asTensor
calc _ = ∑ x, ((ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
leftRightToMatrix.symm (SL2C.toSelfAdjointMap M (pauliBasis x))) := by M:SL(2, ℂ)x:ℂ⊢ ∑ x,
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x)) =
∑ x,
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑((SL2C.toSelfAdjointMap M) (pauliBasis x))
refine Finset.sum_congr rfl (fun x _ => ?_) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x)) =
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑((SL2C.toSelfAdjointMap M) (pauliBasis x))
rw [← leftRightToMatrix_ρ_symm_selfAdjoint M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x)) =
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
(TensorProduct.map (LeftHandedWeyl.rep M) (RightHandedWeyl.rep M)) (leftRightToMatrix.symm ↑(pauliBasis x)) All goals completed! 🐙] All goals completed! 🐙
_ = ∑ x, ((∑ i, (SL2C.toLorentzGroup M).1 i x • (complexContrBasis i)) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm ((SL2C.toLorentzGroup M⁻¹).1 x j • (pauliBasis j))) := by M:SL(2, ℂ)x:ℂ⊢ ∑ x,
(ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑((SL2C.toSelfAdjointMap M) (pauliBasis x)) =
∑ x,
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
refine Finset.sum_congr rfl (fun x _ => ?_) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (ContrℂModule.SL2CRep M) (complexContrBasis x) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑((SL2C.toSelfAdjointMap M) (pauliBasis x)) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
rw [SL2CRep_ρ_basis, M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ j, ↑(SL2C.toLorentzGroup M) j x • complexContrBasis j) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑((SL2C.toSelfAdjointMap M) (pauliBasis x)) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ j, ↑(SL2C.toLorentzGroup M) j x • complexContrBasis j) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑(∑ j, ↑(SL2C.toLorentzGroup M⁻¹) x j • pauliBasis j) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) SL2C.toSelfAdjointMap_pauliBasis M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ j, ↑(SL2C.toLorentzGroup M) j x • complexContrBasis j) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑(∑ j, ↑(SL2C.toLorentzGroup M⁻¹) x j • pauliBasis j) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ j, ↑(SL2C.toLorentzGroup M) j x • complexContrBasis j) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑(∑ j, ↑(SL2C.toLorentzGroup M⁻¹) x j • pauliBasis j) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))] M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ j, ↑(SL2C.toLorentzGroup M) j x • complexContrBasis j) ⊗ₜ[ℂ]
leftRightToMatrix.symm ↑(∑ j, ↑(SL2C.toLorentzGroup M⁻¹) x j • pauliBasis j) =
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
simp only [SL2C.toLorentzGroup_apply_coe, Fintype.sum_sum_type, Finset.univ_unique,
Fin.default_eq_zero, Fin.isValue, Finset.sum_singleton, map_inv,
LorentzGroup.inv_eq_dual, AddSubgroup.coe_add, selfAdjoint.val_smul,
AddSubgroup.val_finsetSum, map_add, map_sum] All goals completed! 🐙
_ = ∑ x, ∑ i, ∑ j, ((SL2C.toLorentzGroup M).1 i x • (complexContrBasis i)) ⊗ₜ[ℂ]
leftRightToMatrix.symm.toLinearMap
((SL2C.toLorentzGroup M⁻¹).1 x j • (pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ x,
(∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ x,
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
refine Finset.sum_congr rfl (fun x _ => ?_) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ (∑ i, ↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
rw [sum_tmul M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) a x • complexContrBasis a) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) a x • complexContrBasis a) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))] M:SL(2, ℂ)x✝¹:ℂx:Fin 1 ⊕ Fin 3x✝:x ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) a x • complexContrBasis a) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
refine Finset.sum_congr rfl (fun i _ => ?_) M:SL(2, ℂ)x✝²:ℂx:Fin 1 ⊕ Fin 3x✝¹:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ (↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
∑ j, leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
rw [tmul_sum M:SL(2, ℂ)x✝²:ℂx:Fin 1 ⊕ Fin 3x✝¹:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x a • ↑(pauliBasis a)) =
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) M:SL(2, ℂ)x✝²:ℂx:Fin 1 ⊕ Fin 3x✝¹:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x a • ↑(pauliBasis a)) =
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))] M:SL(2, ℂ)x✝²:ℂx:Fin 1 ⊕ Fin 3x✝¹:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ ∑ a,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x a • ↑(pauliBasis a)) =
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j))
rfl All goals completed! 🐙
_ = ∑ x, ∑ i, ∑ j, ((SL2C.toLorentzGroup M).1 i x * (SL2C.toLorentzGroup M⁻¹).1 x j)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ x,
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
∑ x,
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
refine Finset.sum_congr rfl (fun x _ => (Finset.sum_congr rfl (fun i _ =>
(Finset.sum_congr rfl (fun j _ => ?_))))) M:SL(2, ℂ)x✝³:ℂx:Fin 1 ⊕ Fin 3x✝²:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (↑(SL2C.toLorentzGroup M) i x • complexContrBasis i) ⊗ₜ[ℂ]
↑leftRightToMatrix.symm (↑(SL2C.toLorentzGroup M⁻¹) x j • ↑(pauliBasis j)) =
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
simp only [SL2C.toLorentzGroup_apply_coe, map_inv, LorentzGroup.inv_eq_dual,
LinearMap.map_smul_of_tower, LinearEquiv.coe_coe] M:SL(2, ℂ)x✝³:ℂx:Fin 1 ⊕ Fin 3x✝²:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (SL2C.toMatrix M i x • complexContrBasis i) ⊗ₜ[ℂ]
(minkowskiMatrix.dual (SL2C.toMatrix M) x j • leftRightToMatrix.symm ↑(pauliBasis j)) =
(SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
rw [smul_tmul, M:SL(2, ℂ)x✝³:ℂx:Fin 1 ⊕ Fin 3x✝²:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ complexContrBasis i ⊗ₜ[ℂ]
(SL2C.toMatrix M i x • minkowskiMatrix.dual (SL2C.toMatrix M) x j • leftRightToMatrix.symm ↑(pauliBasis j)) =
(SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) All goals completed! 🐙 smul_smul, M:SL(2, ℂ)x✝³:ℂx:Fin 1 ⊕ Fin 3x✝²:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ complexContrBasis i ⊗ₜ[ℂ]
((SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) • leftRightToMatrix.symm ↑(pauliBasis j)) =
(SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) All goals completed! 🐙 ← tmul_smul M:SL(2, ℂ)x✝³:ℂx:Fin 1 ⊕ Fin 3x✝²:x ∈ Finset.univi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ complexContrBasis i ⊗ₜ[ℂ]
((SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) • leftRightToMatrix.symm ↑(pauliBasis j)) =
complexContrBasis i ⊗ₜ[ℂ]
((SL2C.toMatrix M i x * minkowskiMatrix.dual (SL2C.toMatrix M) x j) • leftRightToMatrix.symm ↑(pauliBasis j)) All goals completed! 🐙] All goals completed! 🐙
_ = ∑ i, ∑ j, ∑ x, ((SL2C.toLorentzGroup M).1 i x * (SL2C.toLorentzGroup M⁻¹).1 x j)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ x,
∑ i,
∑ j,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
∑ x,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
rw [Finset.sum_comm M:SL(2, ℂ)x:ℂ⊢ ∑ y,
∑ x,
∑ j,
(↑(SL2C.toLorentzGroup M) y x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis y ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
∑ x,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) M:SL(2, ℂ)x:ℂ⊢ ∑ y,
∑ x,
∑ j,
(↑(SL2C.toLorentzGroup M) y x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis y ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
∑ x,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)] M:SL(2, ℂ)x:ℂ⊢ ∑ y,
∑ x,
∑ j,
(↑(SL2C.toLorentzGroup M) y x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis y ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
∑ x,
(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
exact Finset.sum_congr rfl (fun x _ => Finset.sum_comm) All goals completed! 🐙
_ = ∑ i, ∑ j, ∑ x, (((SL2C.toLorentzGroup M).1 i x *
(SL2C.toLorentzGroup M⁻¹).1 x j : ℝ) : ℂ)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := rfl
_ = ∑ i, ∑ j, (∑ x, (SL2C.toLorentzGroup M).1 i x * (SL2C.toLorentzGroup M⁻¹).1 x j : ℂ)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ i,
∑ j,
∑ x,
↑(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
refine Finset.sum_congr rfl (fun i _ => (Finset.sum_congr rfl (fun j _ => ?_))) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ∑ x,
↑(↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
rw [← Finset.sum_smul M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (∑ i_1, ↑(↑(SL2C.toLorentzGroup M) i i_1 * ↑(SL2C.toLorentzGroup M⁻¹) i_1 j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (∑ i_1, ↑(↑(SL2C.toLorentzGroup M) i i_1 * ↑(SL2C.toLorentzGroup M⁻¹) i_1 j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)] M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (∑ i_1, ↑(↑(SL2C.toLorentzGroup M) i i_1 * ↑(SL2C.toLorentzGroup M⁻¹) i_1 j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
simp All goals completed! 🐙
_ = ∑ i, ∑ j, (∑ x, (SL2C.toLorentzGroup M).1 i x * (SL2C.toLorentzGroup M⁻¹).1 x j : ℝ)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ i,
∑ j,
(∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i,
∑ j,
(∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
refine Finset.sum_congr rfl (fun i _ => (Finset.sum_congr rfl (fun j _ => ?_))) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j)) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
(∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
congr e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ∑ x, ↑(↑(SL2C.toLorentzGroup M) i x) * ↑(↑(SL2C.toLorentzGroup M⁻¹) x j) =
↑(algebraMap ℝ ℂ).toMonoidWithZeroHom (∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j)
simp All goals completed! 🐙
_ = ∑ i, ∑ j, ((1 : Matrix (Fin 1 ⊕ Fin 3) (Fin 1 ⊕ Fin 3) ℝ) i j : ℝ)
• ((complexContrBasis i)) ⊗ₜ[ℂ] leftRightToMatrix.symm ((pauliBasis j)) := by M:SL(2, ℂ)x:ℂ⊢ ∑ i,
∑ j,
(∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
∑ i, ∑ j, 1 i j • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
refine Finset.sum_congr rfl (fun i _ => (Finset.sum_congr rfl (fun j _ => ?_))) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ (∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j) •
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
1 i j • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j)
congr e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ∑ x, ↑(SL2C.toLorentzGroup M) i x * ↑(SL2C.toLorentzGroup M⁻¹) x j = 1 i j
change ((SL2C.toLorentzGroup M) * (SL2C.toLorentzGroup M⁻¹)).1 i j = _ e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ↑(SL2C.toLorentzGroup M * SL2C.toLorentzGroup M⁻¹) i j = 1 i j
rw [← SL2C.toLorentzGroup.map_mul e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ↑(SL2C.toLorentzGroup (M * M⁻¹)) i j = 1 i j e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ↑(SL2C.toLorentzGroup (M * M⁻¹)) i j = 1 i j]e_a M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univj:Fin 1 ⊕ Fin 3x✝:j ∈ Finset.univ⊢ ↑(SL2C.toLorentzGroup (M * M⁻¹)) i j = 1 i j
simp only [mul_inv_cancel, _root_.map_one, lorentzGroupIsGroup_one_coe] All goals completed! 🐙
_ = asTensor := by M:SL(2, ℂ)x:ℂ⊢ ∑ i, ∑ j, 1 i j • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) = asTensor
refine Finset.sum_congr rfl (fun i _ => ?_) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ ∑ j, 1 i j • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis j) =
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i)
rw [Finset.sum_eq_single i (fun b _ hb => ?_) (fun hb => ?_) M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) =
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i)M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univb:Fin 1 ⊕ Fin 3x✝:b ∈ Finset.univhb:b ≠ i⊢ 1 i b • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis b) = 0M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univhb:i ∉ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) = 0 M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) =
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i)M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univb:Fin 1 ⊕ Fin 3x✝:b ∈ Finset.univhb:b ≠ i⊢ 1 i b • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis b) = 0M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univhb:i ∉ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) = 0] M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) =
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i)M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univb:Fin 1 ⊕ Fin 3x✝:b ∈ Finset.univhb:b ≠ i⊢ 1 i b • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis b) = 0M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univhb:i ∉ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) = 0
· M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) =
complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) simp only [one_apply_eq, one_smul] All goals completed! 🐙
· M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univb:Fin 1 ⊕ Fin 3x✝:b ∈ Finset.univhb:b ≠ i⊢ 1 i b • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis b) = 0 simp [one_apply_ne' hb] M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝¹:i ∈ Finset.univb:Fin 1 ⊕ Fin 3x✝:b ∈ Finset.univhb:b ≠ i⊢ 0 • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis b) = 0
module All goals completed! 🐙
· M:SL(2, ℂ)x:ℂi:Fin 1 ⊕ Fin 3x✝:i ∈ Finset.univhb:i ∉ Finset.univ⊢ 1 i i • complexContrBasis i ⊗ₜ[ℂ] leftRightToMatrix.symm ↑(pauliBasis i) = 0 simp only [Finset.mem_univ, not_true_eq_false] at hb All goals completed! 🐙
The map 𝟙_ (Rep ℂ SL(2,ℂ)) ⟶ complexContr ⊗ leftHanded ⊗ rightHanded corresponding
to Pauli matrices, when evaluated on 1 corresponds to the tensor PauliMatrix.asTensor.
lemma asConsTensor_apply_one : asConsTensor (1 : ℂ) = asTensor := by ⊢ asConsTensor 1 = asTensor
change (1 : ℂ) • asTensor = asTensor ⊢ 1 • asTensor = asTensor
simp only [one_smul] All goals completed! 🐙