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.Particles.SuperSymmetry.MSSMNu.AnomalyCancellation.Basic
public import Mathlib.RepresentationTheory.BasicPermutations of MSSM charges and solutions
The three family MSSM charges has a family permutation of S₃⁶. This file defines this group and its action on the MSSM.
@[expose] public section
The group of family permutations is S₃⁶
@[simp]
def PermGroup := Fin 6 → Equiv.Perm (Fin 3)
The type PermGroup has a group instances derived from the group instance of it's target.
@[simp]
instance : Group PermGroup := Pi.group
The image of an element of permGroup under the representation on charges.
f:PermGroupa:ℚS:MSSMCharges.Chargesi:Fin 6⊢ (fun i => (toSMSpecies i) (a • S) ∘ ⇑(f i), (toSpecies (a • S)).2).1 i =
(RingHom.id ℚ) a • (fun i => (toSMSpecies i) S ∘ ⇑(f i), (toSpecies S).2).1 i
rfl All goals completed! 🐙lemma chargeMap_toSpecies (f : PermGroup) (S : MSSMCharges.Charges) (j : Fin 6) :
toSMSpecies j (chargeMap f S) = toSMSpecies j S ∘ f j :=
toSMSpecies_toSpecies_inv _ _
The representation of permGroup acting on the vector space of charges.
@[simp]
def repCharges : Representation ℚ PermGroup (MSSMCharges).Charges where
toFun f := chargeMap f⁻¹
map_mul' f g := by f:PermGroupg:PermGroup⊢ chargeMap (f * g)⁻¹ = chargeMap f⁻¹ * chargeMap g⁻¹
simp only [PermGroup] f:PermGroupg:PermGroup⊢ chargeMap (f * g)⁻¹ = chargeMap f⁻¹ * chargeMap g⁻¹
apply LinearMap.ext f:PermGroupg:PermGroup⊢ ∀ (x : MSSMCharges.Charges), (chargeMap (f * g)⁻¹) x = (chargeMap f⁻¹ * chargeMap g⁻¹) x
intro S f:PermGroupg:PermGroupS:MSSMCharges.Charges⊢ (chargeMap (f * g)⁻¹) S = (chargeMap f⁻¹ * chargeMap g⁻¹) S
rw [charges_eq_toSpecies_eq f:PermGroupg:PermGroupS:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹ * chargeMap g⁻¹) S)) ∧
Hd ((chargeMap (f * g)⁻¹) S) = Hd ((chargeMap f⁻¹ * chargeMap g⁻¹) S) ∧
Hu ((chargeMap (f * g)⁻¹) S) = Hu ((chargeMap f⁻¹ * chargeMap g⁻¹) S) f:PermGroupg:PermGroupS:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹ * chargeMap g⁻¹) S)) ∧
Hd ((chargeMap (f * g)⁻¹) S) = Hd ((chargeMap f⁻¹ * chargeMap g⁻¹) S) ∧
Hu ((chargeMap (f * g)⁻¹) S) = Hu ((chargeMap f⁻¹ * chargeMap g⁻¹) S)] f:PermGroupg:PermGroupS:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹ * chargeMap g⁻¹) S)) ∧
Hd ((chargeMap (f * g)⁻¹) S) = Hd ((chargeMap f⁻¹ * chargeMap g⁻¹) S) ∧
Hu ((chargeMap (f * g)⁻¹) S) = Hu ((chargeMap f⁻¹ * chargeMap g⁻¹) S)
refine And.intro ?_ $ Prod.mk_inj.mp rfl f:PermGroupg:PermGroupS:MSSMCharges.Charges⊢ ∀ (i : Fin 6), (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹ * chargeMap g⁻¹) S)
intro i f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹ * chargeMap g⁻¹) S)
simp only [Module.End.mul_apply] f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) ((chargeMap (f * g)⁻¹) S) = (toSMSpecies i) ((chargeMap f⁻¹) ((chargeMap g⁻¹) S))
rw [chargeMap_toSpecies, f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g)⁻¹ i) = (toSMSpecies i) ((chargeMap f⁻¹) ((chargeMap g⁻¹) S)) f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g)⁻¹ i) = (toSMSpecies i) ((chargeMap g⁻¹) S) ∘ ⇑(f⁻¹ i) chargeMap_toSpecies f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g)⁻¹ i) = (toSMSpecies i) ((chargeMap g⁻¹) S) ∘ ⇑(f⁻¹ i) f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g)⁻¹ i) = (toSMSpecies i) ((chargeMap g⁻¹) S) ∘ ⇑(f⁻¹ i)] f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g)⁻¹ i) = (toSMSpecies i) ((chargeMap g⁻¹) S) ∘ ⇑(f⁻¹ i)
simp only [Pi.inv_apply] f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g) i)⁻¹ = (toSMSpecies i) ((chargeMap g⁻¹) S) ∘ ⇑(f i)⁻¹
rw [chargeMap_toSpecies f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g) i)⁻¹ = ((toSMSpecies i) S ∘ ⇑(g⁻¹ i)) ∘ ⇑(f i)⁻¹ f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g) i)⁻¹ = ((toSMSpecies i) S ∘ ⇑(g⁻¹ i)) ∘ ⇑(f i)⁻¹] f:PermGroupg:PermGroupS:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) S ∘ ⇑((f * g) i)⁻¹ = ((toSMSpecies i) S ∘ ⇑(g⁻¹ i)) ∘ ⇑(f i)⁻¹
rfl All goals completed! 🐙
map_one' := by ⊢ chargeMap 1⁻¹ = 1
apply LinearMap.ext ⊢ ∀ (x : MSSMCharges.Charges), (chargeMap 1⁻¹) x = 1 x
intro S S:MSSMCharges.Charges⊢ (chargeMap 1⁻¹) S = 1 S
rw [charges_eq_toSpecies_eq S:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap 1⁻¹) S) = (toSMSpecies i) (1 S)) ∧
Hd ((chargeMap 1⁻¹) S) = Hd (1 S) ∧ Hu ((chargeMap 1⁻¹) S) = Hu (1 S) S:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap 1⁻¹) S) = (toSMSpecies i) (1 S)) ∧
Hd ((chargeMap 1⁻¹) S) = Hd (1 S) ∧ Hu ((chargeMap 1⁻¹) S) = Hu (1 S)] S:MSSMCharges.Charges⊢ (∀ (i : Fin 6), (toSMSpecies i) ((chargeMap 1⁻¹) S) = (toSMSpecies i) (1 S)) ∧
Hd ((chargeMap 1⁻¹) S) = Hd (1 S) ∧ Hu ((chargeMap 1⁻¹) S) = Hu (1 S)
refine And.intro ?_ $ Prod.mk_inj.mp rfl S:MSSMCharges.Charges⊢ ∀ (i : Fin 6), (toSMSpecies i) ((chargeMap 1⁻¹) S) = (toSMSpecies i) (1 S)
intro i S:MSSMCharges.Chargesi:Fin 6⊢ (toSMSpecies i) ((chargeMap 1⁻¹) S) = (toSMSpecies i) (1 S)
exact toSMSpecies_toSpecies_inv _ _ All goals completed! 🐙lemma repCharges_toSMSpecies (f : PermGroup) (S : MSSMCharges.Charges) (j : Fin 6) :
toSMSpecies j (repCharges f S) = toSMSpecies j S ∘ f⁻¹ j :=
toSMSpecies_toSpecies_inv _ _
lemma toSpecies_sum_invariant (m : ℕ) (f : PermGroup) (S : MSSMCharges.Charges) (j : Fin 6) :
∑ i, ((fun a => a ^ m) ∘ toSMSpecies j (repCharges f S)) i =
∑ i, ((fun a => a ^ m) ∘ toSMSpecies j S) i := by m:ℕf:PermGroupS:MSSMCharges.Chargesj:Fin 6⊢ ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) ((repCharges f) S)) i = ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S) i
rw [repCharges_toSMSpecies m:ℕf:PermGroupS:MSSMCharges.Chargesj:Fin 6⊢ ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S ∘ ⇑(f⁻¹ j)) i = ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S) i m:ℕf:PermGroupS:MSSMCharges.Chargesj:Fin 6⊢ ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S ∘ ⇑(f⁻¹ j)) i = ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S) i] m:ℕf:PermGroupS:MSSMCharges.Chargesj:Fin 6⊢ ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S ∘ ⇑(f⁻¹ j)) i = ∑ i, ((fun a => a ^ m) ∘ (toSMSpecies j) S) i
exact Equiv.sum_comp (f⁻¹ j) ((fun a => a ^ m) ∘ (toSMSpecies j) S) All goals completed! 🐙lemma Hd_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
Hd (repCharges f S) = Hd S := rfllemma Hu_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
Hu (repCharges f S) = Hu S := rfllemma accGrav_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accGrav (repCharges f S) = accGrav S :=
accGrav_ext
(by f:PermGroupS:MSSMCharges.Charges⊢ ∀ (j : Fin 6), ∑ i, (toSMSpecies j) ((repCharges f) S) i = ∑ i, (toSMSpecies j) S i simpa using toSpecies_sum_invariant 1 f S All goals completed! 🐙)
(Hd_invariant f S)
(Hu_invariant f S)lemma accSU2_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accSU2 (repCharges f S) = accSU2 S :=
accSU2_ext
(by f:PermGroupS:MSSMCharges.Charges⊢ ∀ (j : Fin 6), ∑ i, (toSMSpecies j) ((repCharges f) S) i = ∑ i, (toSMSpecies j) S i simpa using toSpecies_sum_invariant 1 f S All goals completed! 🐙)
(Hd_invariant f S)
(Hu_invariant f S)lemma accSU3_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accSU3 (repCharges f S) = accSU3 S :=
accSU3_ext
(by f:PermGroupS:MSSMCharges.Charges⊢ ∀ (j : Fin 6), ∑ i, (toSMSpecies j) ((repCharges f) S) i = ∑ i, (toSMSpecies j) S i simpa using toSpecies_sum_invariant 1 f S All goals completed! 🐙)lemma accYY_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accYY (repCharges f S) = accYY S :=
accYY_ext
(by f:PermGroupS:MSSMCharges.Charges⊢ ∀ (j : Fin 6), ∑ i, (toSMSpecies j) ((repCharges f) S) i = ∑ i, (toSMSpecies j) S i simpa using toSpecies_sum_invariant 1 f S All goals completed! 🐙)
(Hd_invariant f S)
(Hu_invariant f S)lemma accQuad_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accQuad (repCharges f S) = accQuad S :=
accQuad_ext
(toSpecies_sum_invariant 2 f S)
(Hd_invariant f S)
(Hu_invariant f S)lemma accCube_invariant (f : PermGroup) (S : MSSMCharges.Charges) :
accCube (repCharges f S) = accCube S :=
accCube_ext
(toSpecies_sum_invariant 3 f S)
(Hd_invariant f S)
(Hu_invariant f S)