2024-04-17 15:12:20 -04:00
|
|
|
|
/-
|
|
|
|
|
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
|
|
|
|
|
Released under Apache 2.0 license.
|
|
|
|
|
Authors: Joseph Tooby-Smith
|
|
|
|
|
-/
|
|
|
|
|
import Mathlib.Tactic.FinCases
|
|
|
|
|
import Mathlib.Algebra.Module.Basic
|
|
|
|
|
import Mathlib.Tactic.Ring
|
|
|
|
|
import Mathlib.Algebra.GroupWithZero.Units.Lemmas
|
|
|
|
|
import HepLean.AnomalyCancellation.Basic
|
|
|
|
|
import Mathlib.Algebra.BigOperators.Fin
|
|
|
|
|
import Mathlib.Logic.Equiv.Fin
|
|
|
|
|
/-!
|
|
|
|
|
# The MSSM with 3 families and RHNs
|
|
|
|
|
|
|
|
|
|
We define the system of ACCs for the MSSM with 3 families and RHNs.
|
|
|
|
|
We define the system of charges for 1-species. We prove some basic lemmas about them.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
universe v u
|
|
|
|
|
open Nat
|
|
|
|
|
open BigOperators
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/-- The vector space of charges corresponding to the MSSM fermions. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def MSSMCharges : ACCSystemCharges := ACCSystemChargesMk 20
|
|
|
|
|
|
2024-04-17 16:23:40 -04:00
|
|
|
|
/-- The vector spaces of charges of one species of fermions in the MSSM. -/
|
2024-04-17 15:12:20 -04:00
|
|
|
|
@[simps!]
|
|
|
|
|
def MSSMSpecies : ACCSystemCharges := ACCSystemChargesMk 3
|
|
|
|
|
|
|
|
|
|
namespace MSSMCharges
|
|
|
|
|
|
|
|
|
|
/-- An equivalence between `MSSMCharges.charges` and the space of maps
|
2024-05-21 14:10:51 +02:00
|
|
|
|
`(Fin 18 ⊕ Fin 2 → ℚ)`. The first 18 factors corresponds to the SM fermions, while the last two
|
2024-04-17 15:12:20 -04:00
|
|
|
|
are the higgsions. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def toSMPlusH : MSSMCharges.Charges ≃ (Fin 18 ⊕ Fin 2 → ℚ) :=
|
2024-04-17 15:12:20 -04:00
|
|
|
|
((@finSumFinEquiv 18 2).arrowCongr (Equiv.refl ℚ)).symm
|
|
|
|
|
|
|
|
|
|
/-- An equivalence between `Fin 18 ⊕ Fin 2 → ℚ` and `(Fin 18 → ℚ) × (Fin 2 → ℚ)`. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def splitSMPlusH : (Fin 18 ⊕ Fin 2 → ℚ) ≃ (Fin 18 → ℚ) × (Fin 2 → ℚ) where
|
|
|
|
|
toFun f := (f ∘ Sum.inl , f ∘ Sum.inr)
|
|
|
|
|
invFun f := Sum.elim f.1 f.2
|
2024-06-13 16:49:01 -04:00
|
|
|
|
left_inv f := Sum.elim_comp_inl_inr f
|
|
|
|
|
right_inv _ := rfl
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- An equivalence between `MSSMCharges.charges` and `(Fin 18 → ℚ) × (Fin 2 → ℚ)`. This
|
|
|
|
|
splits the charges up into the SM and the additional ones for the MSSM. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def toSplitSMPlusH : MSSMCharges.Charges ≃ (Fin 18 → ℚ) × (Fin 2 → ℚ) :=
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toSMPlusH.trans splitSMPlusH
|
|
|
|
|
|
|
|
|
|
/-- An equivalence between `(Fin 18 → ℚ)` and `(Fin 6 → Fin 3 → ℚ)`. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def toSpeciesMaps' : (Fin 18 → ℚ) ≃ (Fin 6 → Fin 3 → ℚ) :=
|
|
|
|
|
((Equiv.curry _ _ _).symm.trans
|
|
|
|
|
((@finProdFinEquiv 6 3).arrowCongr (Equiv.refl ℚ))).symm
|
|
|
|
|
|
|
|
|
|
/-- An equivalence between `MSSMCharges.charges` and `(Fin 6 → Fin 3 → ℚ) × (Fin 2 → ℚ))`.
|
|
|
|
|
This split charges up into the SM and additional fermions, and further splits the SM into
|
|
|
|
|
species. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def toSpecies : MSSMCharges.Charges ≃ (Fin 6 → Fin 3 → ℚ) × (Fin 2 → ℚ) :=
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toSplitSMPlusH.trans (Equiv.prodCongr toSpeciesMaps' (Equiv.refl _))
|
|
|
|
|
|
|
|
|
|
/-- For a given `i ∈ Fin 6` the projection of `MSSMCharges.charges` down to the
|
|
|
|
|
corresponding SM species of charges. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def toSMSpecies (i : Fin 6) : MSSMCharges.Charges →ₗ[ℚ] MSSMSpecies.Charges where
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toFun S := (Prod.fst ∘ toSpecies) S i
|
2024-06-13 16:49:01 -04:00
|
|
|
|
map_add' _ _ := by rfl
|
|
|
|
|
map_smul' _ _ := by rfl
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
lemma toSMSpecies_toSpecies_inv (i : Fin 6) (f : (Fin 6 → Fin 3 → ℚ) × (Fin 2 → ℚ)) :
|
|
|
|
|
(toSMSpecies i) (toSpecies.symm f) = f.1 i := by
|
|
|
|
|
change (Prod.fst ∘ toSpecies ∘ toSpecies.symm ) _ i= f.1 i
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-- The `Q` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev Q := toSMSpecies 0
|
|
|
|
|
/-- The `U` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev U := toSMSpecies 1
|
|
|
|
|
/-- The `D` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev D := toSMSpecies 2
|
|
|
|
|
/-- The `L` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev L := toSMSpecies 3
|
|
|
|
|
/-- The `E` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev E := toSMSpecies 4
|
|
|
|
|
/-- The `N` charges as a map `Fin 3 → ℚ`. -/
|
|
|
|
|
abbrev N := toSMSpecies 5
|
|
|
|
|
|
|
|
|
|
/-- The charge `Hd`. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def Hd : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-06-13 16:49:01 -04:00
|
|
|
|
toFun S := S ⟨18, Nat.lt_of_sub_eq_succ rfl⟩
|
|
|
|
|
map_add' _ _ := by rfl
|
|
|
|
|
map_smul' _ _ := by rfl
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- The charge `Hu`. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def Hu : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-06-13 16:49:01 -04:00
|
|
|
|
toFun S := S ⟨19, Nat.lt_of_sub_eq_succ rfl⟩
|
|
|
|
|
map_add' _ _ := by rfl
|
|
|
|
|
map_smul' _ _ := by rfl
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma charges_eq_toSpecies_eq (S T : MSSMCharges.Charges) :
|
2024-04-17 15:12:20 -04:00
|
|
|
|
S = T ↔ (∀ i, toSMSpecies i S = toSMSpecies i T) ∧ Hd S = Hd T ∧ Hu S = Hu T := by
|
|
|
|
|
apply Iff.intro
|
|
|
|
|
intro h
|
|
|
|
|
rw [h]
|
|
|
|
|
simp only [forall_const, Hd_apply, Fin.reduceFinMk, Fin.isValue, Hu_apply, and_self]
|
|
|
|
|
intro h
|
|
|
|
|
apply toSpecies.injective
|
|
|
|
|
apply Prod.ext
|
|
|
|
|
funext i
|
|
|
|
|
exact h.1 i
|
|
|
|
|
funext i
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => exact h.2.1
|
|
|
|
|
| 1 => exact h.2.2
|
|
|
|
|
|
|
|
|
|
lemma Hd_toSpecies_inv (f : (Fin 6 → Fin 3 → ℚ) × (Fin 2 → ℚ)) :
|
|
|
|
|
Hd (toSpecies.symm f) = f.2 0 := by
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma Hu_toSpecies_inv (f : (Fin 6 → Fin 3 → ℚ) × (Fin 2 → ℚ)) :
|
|
|
|
|
Hu (toSpecies.symm f) = f.2 1 := by
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
end MSSMCharges
|
|
|
|
|
|
|
|
|
|
namespace MSSMACCs
|
|
|
|
|
|
|
|
|
|
open MSSMCharges
|
|
|
|
|
|
|
|
|
|
/-- The gravitational anomaly equation. -/
|
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accGrav : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toFun S := ∑ i, (6 * Q S i + 3 * U S i + 3 * D S i
|
|
|
|
|
+ 2 * L S i + E S i + N S i) + 2 * (Hd S + Hu S)
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [map_add]
|
|
|
|
|
simp [mul_add]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
ring
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [(toSMSpecies _).map_smul]
|
|
|
|
|
erw [Hd.map_smul, Hu.map_smul]
|
|
|
|
|
simp [HSMul.hSMul, SMul.smul]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
--rw [show Rat.cast a = a from rfl]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accGrav`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accGrav_ext {S T : MSSMCharges.Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hj : ∀ (j : Fin 6), ∑ i, (toSMSpecies j) S i = ∑ i, (toSMSpecies j) T i)
|
|
|
|
|
(hd : Hd S = Hd T) (hu : Hu S = Hu T) :
|
|
|
|
|
accGrav S = accGrav T := by
|
|
|
|
|
simp only [accGrav, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue,
|
|
|
|
|
Fin.reduceFinMk, LinearMap.coe_mk, AddHom.coe_mk]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
repeat erw [hj]
|
|
|
|
|
rw [hd, hu]
|
|
|
|
|
rfl
|
|
|
|
|
|
2024-05-21 14:10:51 +02:00
|
|
|
|
/-- The anomaly cancellation condition for SU(2) anomaly. -/
|
2024-04-17 15:12:20 -04:00
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accSU2 : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toFun S := ∑ i, (3 * Q S i + L S i) + Hd S + Hu S
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [map_add]
|
|
|
|
|
simp [mul_add]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
ring
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [(toSMSpecies _).map_smul]
|
|
|
|
|
erw [Hd.map_smul, Hu.map_smul]
|
|
|
|
|
simp [HSMul.hSMul, SMul.smul]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
--rw [show Rat.cast a = a from rfl]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accSU2`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accSU2_ext {S T : MSSMCharges.Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hj : ∀ (j : Fin 6), ∑ i, (toSMSpecies j) S i = ∑ i, (toSMSpecies j) T i)
|
|
|
|
|
(hd : Hd S = Hd T) (hu : Hu S = Hu T) :
|
|
|
|
|
accSU2 S = accSU2 T := by
|
|
|
|
|
simp only [accSU2, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue,
|
|
|
|
|
Fin.reduceFinMk, LinearMap.coe_mk, AddHom.coe_mk]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
repeat erw [hj]
|
|
|
|
|
rw [hd, hu]
|
|
|
|
|
rfl
|
|
|
|
|
|
2024-05-20 00:19:16 +02:00
|
|
|
|
/-- The anomaly cancellation condition for SU(3) anomaly. -/
|
2024-04-17 15:12:20 -04:00
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accSU3 : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toFun S := ∑ i, (2 * (Q S i) + (U S i) + (D S i))
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [map_add]
|
|
|
|
|
simp [mul_add]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
ring
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [(toSMSpecies _).map_smul]
|
|
|
|
|
simp [HSMul.hSMul, SMul.smul]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
--rw [show Rat.cast a = a from rfl]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accSU3`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accSU3_ext {S T : MSSMCharges.Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hj : ∀ (j : Fin 6), ∑ i, (toSMSpecies j) S i = ∑ i, (toSMSpecies j) T i) :
|
|
|
|
|
accSU3 S = accSU3 T := by
|
|
|
|
|
simp only [accSU3, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, LinearMap.coe_mk,
|
|
|
|
|
AddHom.coe_mk]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
repeat erw [hj]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-- The acc for `Y²`. -/
|
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accYY : MSSMCharges.Charges →ₗ[ℚ] ℚ where
|
2024-04-17 15:12:20 -04:00
|
|
|
|
toFun S := ∑ i, ((Q S) i + 8 * (U S) i + 2 * (D S) i + 3 * (L S) i
|
|
|
|
|
+ 6 * (E S) i) + 3 * (Hd S + Hu S)
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [map_add]
|
|
|
|
|
simp [mul_add]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
ring
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
simp only
|
|
|
|
|
repeat rw [(toSMSpecies _).map_smul]
|
|
|
|
|
erw [Hd.map_smul, Hu.map_smul]
|
|
|
|
|
simp [HSMul.hSMul, SMul.smul]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
-- rw [show Rat.cast a = a from rfl]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accGrav`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accYY_ext {S T : MSSMCharges.Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hj : ∀ (j : Fin 6), ∑ i, (toSMSpecies j) S i = ∑ i, (toSMSpecies j) T i)
|
|
|
|
|
(hd : Hd S = Hd T) (hu : Hu S = Hu T) :
|
|
|
|
|
accYY S = accYY T := by
|
|
|
|
|
simp only [accYY, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue,
|
|
|
|
|
Fin.reduceFinMk, LinearMap.coe_mk, AddHom.coe_mk]
|
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
repeat erw [hj]
|
|
|
|
|
rw [hd, hu]
|
|
|
|
|
rfl
|
|
|
|
|
|
2024-04-22 08:46:29 -04:00
|
|
|
|
/-- The symmetric bilinear function used to define the quadratic ACC. -/
|
2024-04-17 15:12:20 -04:00
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def quadBiLin : BiLinearSymm MSSMCharges.Charges := BiLinearSymm.mk₂ (
|
2024-04-22 08:46:29 -04:00
|
|
|
|
fun (S, T) => ∑ i, (Q S i * Q T i + (- 2) * (U S i * U T i) +
|
|
|
|
|
D S i * D T i + (- 1) * (L S i * L T i) + E S i * E T i) +
|
|
|
|
|
(- Hd S * Hd T + Hu S * Hu T))
|
2024-04-22 08:41:50 -04:00
|
|
|
|
(by
|
|
|
|
|
intro a S T
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only
|
|
|
|
|
rw [mul_add]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [Finset.mul_sum]
|
|
|
|
|
apply Fintype.sum_congr
|
|
|
|
|
intro i
|
|
|
|
|
repeat erw [map_smul]
|
|
|
|
|
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue, neg_mul, one_mul]
|
|
|
|
|
ring
|
|
|
|
|
simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, neg_mul, Hu_apply]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
|
|
|
|
(by
|
|
|
|
|
intro S T R
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only
|
|
|
|
|
rw [add_assoc, ← add_assoc (-Hd S * Hd R + Hu S * Hu R) _ _]
|
|
|
|
|
rw [add_comm (-Hd S * Hd R + Hu S * Hu R) _]
|
|
|
|
|
rw [add_assoc]
|
|
|
|
|
rw [← add_assoc _ _ (-Hd S * Hd R + Hu S * Hu R + (-Hd T * Hd R + Hu T * Hu R))]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [← Finset.sum_add_distrib]
|
|
|
|
|
apply Fintype.sum_congr
|
|
|
|
|
intro i
|
|
|
|
|
repeat erw [map_add]
|
|
|
|
|
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue, neg_mul,
|
|
|
|
|
one_mul]
|
|
|
|
|
ring
|
|
|
|
|
rw [Hd.map_add, Hu.map_add]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
|
|
|
|
(by
|
|
|
|
|
intro S L
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only [MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, neg_mul, one_mul,
|
|
|
|
|
Hd_apply, Fin.reduceFinMk, Hu_apply]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [Fin.isValue]
|
|
|
|
|
ring
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
|
|
|
|
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- The quadratic ACC. -/
|
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accQuad : HomogeneousQuadratic MSSMCharges.Charges := quadBiLin.toHomogeneousQuad
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accQuad`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accQuad_ext {S T : (MSSMCharges).Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(h : ∀ j, ∑ i, ((fun a => a^2) ∘ toSMSpecies j S) i =
|
|
|
|
|
∑ i, ((fun a => a^2) ∘ toSMSpecies j T) i)
|
|
|
|
|
(hd : Hd S = Hd T) (hu : Hu S = Hu T) :
|
|
|
|
|
accQuad S = accQuad T := by
|
2024-04-22 08:41:50 -04:00
|
|
|
|
simp only [HomogeneousQuadratic, accQuad, BiLinearSymm.toHomogeneousQuad_apply]
|
2024-04-17 15:12:20 -04:00
|
|
|
|
erw [← quadBiLin.toFun_eq_coe]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
simp only [quadBiLin, BiLinearSymm.mk₂, AddHom.toFun_eq_coe, AddHom.coe_mk, LinearMap.coe_mk]
|
2024-04-17 15:12:20 -04:00
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
ring_nf
|
2024-06-13 16:49:01 -04:00
|
|
|
|
have h1 : ∀ j, ∑ i, (toSMSpecies j S i)^2 = ∑ i, (toSMSpecies j T i)^2 := fun j => h j
|
2024-04-17 15:12:20 -04:00
|
|
|
|
repeat rw [h1]
|
|
|
|
|
rw [hd, hu]
|
|
|
|
|
|
2024-04-22 08:41:50 -04:00
|
|
|
|
|
2024-04-17 15:12:20 -04:00
|
|
|
|
/-- The function underlying the symmetric trilinear form used to define the cubic ACC. -/
|
|
|
|
|
@[simp]
|
|
|
|
|
def cubeTriLinToFun
|
2024-06-26 11:54:02 -04:00
|
|
|
|
(S : MSSMCharges.Charges × MSSMCharges.Charges × MSSMCharges.Charges) : ℚ :=
|
2024-04-17 15:12:20 -04:00
|
|
|
|
∑ i, (6 * (Q S.1 i * Q S.2.1 i * Q S.2.2 i)
|
|
|
|
|
+ 3 * (U S.1 i * U S.2.1 i * U S.2.2 i)
|
|
|
|
|
+ 3 * (D S.1 i * D S.2.1 i * D S.2.2 i)
|
|
|
|
|
+ 2 * (L S.1 i * L S.2.1 i * L S.2.2 i)
|
|
|
|
|
+ E S.1 i * E S.2.1 i * E S.2.2 i
|
|
|
|
|
+ N S.1 i * N S.2.1 i * N S.2.2 i)
|
|
|
|
|
+ (2 * Hd S.1 * Hd S.2.1 * Hd S.2.2
|
|
|
|
|
+ 2 * Hu S.1 * Hu S.2.1 * Hu S.2.2)
|
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma cubeTriLinToFun_map_smul₁ (a : ℚ) (S T R : MSSMCharges.Charges) :
|
2024-04-17 15:12:20 -04:00
|
|
|
|
cubeTriLinToFun (a • S, T, R) = a * cubeTriLinToFun (S, T, R) := by
|
|
|
|
|
simp only [cubeTriLinToFun]
|
|
|
|
|
rw [mul_add]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [Finset.mul_sum]
|
|
|
|
|
apply Fintype.sum_congr
|
|
|
|
|
intro i
|
|
|
|
|
repeat erw [map_smul]
|
|
|
|
|
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue]
|
|
|
|
|
ring
|
|
|
|
|
simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, Hu_apply]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma cubeTriLinToFun_map_add₁ (S T R L : MSSMCharges.Charges) :
|
2024-04-17 15:12:20 -04:00
|
|
|
|
cubeTriLinToFun (S + T, R, L) = cubeTriLinToFun (S, R, L) + cubeTriLinToFun (T, R, L) := by
|
|
|
|
|
simp only [cubeTriLinToFun]
|
|
|
|
|
rw [add_assoc, ← add_assoc (2 * Hd S * Hd R * Hd L + 2 * Hu S * Hu R * Hu L) _ _]
|
|
|
|
|
rw [add_comm (2 * Hd S * Hd R * Hd L + 2 * Hu S * Hu R * Hu L) _]
|
|
|
|
|
rw [add_assoc]
|
|
|
|
|
rw [← add_assoc _ _ (2 * Hd S * Hd R * Hd L + 2 * Hu S * Hu R * Hu L +
|
|
|
|
|
(2 * Hd T * Hd R * Hd L + 2 * Hu T * Hu R * Hu L))]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [← Finset.sum_add_distrib]
|
|
|
|
|
apply Fintype.sum_congr
|
|
|
|
|
intro i
|
|
|
|
|
repeat erw [map_add]
|
|
|
|
|
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue]
|
|
|
|
|
ring
|
|
|
|
|
rw [Hd.map_add, Hu.map_add]
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma cubeTriLinToFun_swap1 (S T R : MSSMCharges.Charges) :
|
2024-04-17 15:12:20 -04:00
|
|
|
|
cubeTriLinToFun (S, T, R) = cubeTriLinToFun (T, S, R) := by
|
|
|
|
|
simp only [cubeTriLinToFun, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, Hd_apply,
|
|
|
|
|
Fin.reduceFinMk, Hu_apply]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [Fin.isValue]
|
|
|
|
|
ring
|
|
|
|
|
ring
|
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma cubeTriLinToFun_swap2 (S T R : MSSMCharges.Charges) :
|
2024-04-17 15:12:20 -04:00
|
|
|
|
cubeTriLinToFun (S, T, R) = cubeTriLinToFun (S, R, T) := by
|
|
|
|
|
simp only [cubeTriLinToFun, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, Hd_apply,
|
|
|
|
|
Fin.reduceFinMk, Hu_apply]
|
|
|
|
|
congr 1
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [Fin.isValue]
|
|
|
|
|
ring
|
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
/-- The symmetric trilinear form used to define the cubic ACC. -/
|
2024-04-22 09:48:44 -04:00
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def cubeTriLin : TriLinearSymm MSSMCharges.Charges := TriLinearSymm.mk₃
|
2024-04-22 09:48:44 -04:00
|
|
|
|
cubeTriLinToFun
|
|
|
|
|
cubeTriLinToFun_map_smul₁
|
|
|
|
|
cubeTriLinToFun_map_add₁
|
|
|
|
|
cubeTriLinToFun_swap1
|
|
|
|
|
cubeTriLinToFun_swap2
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- The cubic ACC. -/
|
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def accCube : HomogeneousCubic MSSMCharges.Charges := cubeTriLin.toCubic
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
/-- Extensionality lemma for `accCube`. -/
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma accCube_ext {S T : MSSMCharges.Charges}
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(h : ∀ j, ∑ i, ((fun a => a^3) ∘ toSMSpecies j S) i =
|
|
|
|
|
∑ i, ((fun a => a^3) ∘ toSMSpecies j T) i)
|
|
|
|
|
(hd : Hd S = Hd T) (hu : Hu S = Hu T) :
|
|
|
|
|
accCube S = accCube T := by
|
2024-04-22 09:48:44 -04:00
|
|
|
|
simp only [HomogeneousCubic, accCube, cubeTriLin, TriLinearSymm.toCubic_apply,
|
|
|
|
|
TriLinearSymm.mk₃_toFun_apply_apply, cubeTriLinToFun]
|
2024-04-17 15:12:20 -04:00
|
|
|
|
repeat erw [Finset.sum_add_distrib]
|
|
|
|
|
repeat erw [← Finset.mul_sum]
|
|
|
|
|
ring_nf
|
|
|
|
|
have h1 : ∀ j, ∑ i, (toSMSpecies j S i)^3 = ∑ i, (toSMSpecies j T i)^3 := by
|
|
|
|
|
intro j
|
|
|
|
|
erw [h]
|
|
|
|
|
rfl
|
|
|
|
|
repeat rw [h1]
|
|
|
|
|
rw [hd, hu]
|
|
|
|
|
|
|
|
|
|
end MSSMACCs
|
|
|
|
|
|
|
|
|
|
open MSSMACCs
|
|
|
|
|
|
|
|
|
|
/-- The ACCSystem for the MSSM without RHN. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def MSSMACC : ACCSystem where
|
|
|
|
|
numberLinear := 4
|
|
|
|
|
linearACCs := fun i =>
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => accGrav
|
|
|
|
|
| 1 => accSU2
|
|
|
|
|
| 2 => accSU3
|
|
|
|
|
| 3 => accYY
|
|
|
|
|
numberQuadratic := 1
|
|
|
|
|
quadraticACCs := fun i =>
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => accQuad
|
|
|
|
|
cubicACC := accCube
|
|
|
|
|
|
|
|
|
|
namespace MSSMACC
|
|
|
|
|
open MSSMCharges
|
|
|
|
|
|
|
|
|
|
lemma quadSol (S : MSSMACC.QuadSols) : accQuad S.val = 0 := by
|
|
|
|
|
have hS := S.quadSol
|
2024-04-22 08:41:50 -04:00
|
|
|
|
simp only [MSSMACC_numberQuadratic, HomogeneousQuadratic, MSSMACC_quadraticACCs] at hS
|
2024-04-17 15:12:20 -04:00
|
|
|
|
exact hS 0
|
|
|
|
|
|
|
|
|
|
/-- A solution from a charge satisfying the ACCs. -/
|
|
|
|
|
@[simp]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def AnomalyFreeMk (S : MSSMACC.Charges) (hg : accGrav S = 0)
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hsu2 : accSU2 S = 0) (hsu3 : accSU3 S = 0) (hyy : accYY S = 0)
|
|
|
|
|
(hquad : accQuad S = 0) (hcube : accCube S = 0) : MSSMACC.Sols :=
|
|
|
|
|
⟨⟨⟨S, by
|
|
|
|
|
intro i
|
|
|
|
|
simp at i
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => exact hg
|
|
|
|
|
| 1 => exact hsu2
|
|
|
|
|
| 2 => exact hsu3
|
|
|
|
|
| 3 => exact hyy⟩, by
|
|
|
|
|
intro i
|
|
|
|
|
simp at i
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => exact hquad
|
|
|
|
|
⟩ , by exact hcube ⟩
|
|
|
|
|
|
2024-06-26 11:54:02 -04:00
|
|
|
|
lemma AnomalyFreeMk_val (S : MSSMACC.Charges) (hg : accGrav S = 0)
|
2024-04-17 15:12:20 -04:00
|
|
|
|
(hsu2 : accSU2 S = 0) (hsu3 : accSU3 S = 0) (hyy : accYY S = 0)
|
|
|
|
|
(hquad : accQuad S = 0) (hcube : accCube S = 0) :
|
|
|
|
|
(AnomalyFreeMk S hg hsu2 hsu3 hyy hquad hcube).val = S := by
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-- A `QuadSol` from a `LinSol` satisfying the quadratic ACC. -/
|
|
|
|
|
@[simp]
|
|
|
|
|
def AnomalyFreeQuadMk' (S : MSSMACC.LinSols) (hquad : accQuad S.val = 0) :
|
|
|
|
|
MSSMACC.QuadSols :=
|
|
|
|
|
⟨S, by
|
|
|
|
|
intro i
|
|
|
|
|
simp at i
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => exact hquad
|
|
|
|
|
⟩
|
|
|
|
|
|
|
|
|
|
/-- A `Sol` from a `LinSol` satisfying the quadratic and cubic ACCs. -/
|
|
|
|
|
@[simp]
|
|
|
|
|
def AnomalyFreeMk' (S : MSSMACC.LinSols) (hquad : accQuad S.val = 0)
|
|
|
|
|
(hcube : accCube S.val = 0) : MSSMACC.Sols :=
|
|
|
|
|
⟨⟨S, by
|
|
|
|
|
intro i
|
|
|
|
|
simp at i
|
|
|
|
|
match i with
|
|
|
|
|
| 0 => exact hquad
|
|
|
|
|
⟩ , by exact hcube ⟩
|
|
|
|
|
|
|
|
|
|
/-- A `Sol` from a `QuadSol` satisfying the cubic ACCs. -/
|
|
|
|
|
@[simp]
|
|
|
|
|
def AnomalyFreeMk'' (S : MSSMACC.QuadSols) (hcube : accCube S.val = 0) : MSSMACC.Sols :=
|
|
|
|
|
⟨S , by exact hcube ⟩
|
|
|
|
|
|
|
|
|
|
lemma AnomalyFreeMk''_val (S : MSSMACC.QuadSols)
|
|
|
|
|
(hcube : accCube S.val = 0) :
|
|
|
|
|
(AnomalyFreeMk'' S hcube).val = S.val := by
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-- The dot product on the vector space of charges. -/
|
|
|
|
|
@[simps!]
|
2024-06-26 11:54:02 -04:00
|
|
|
|
def dot : BiLinearSymm MSSMCharges.Charges := BiLinearSymm.mk₂
|
2024-04-22 08:41:50 -04:00
|
|
|
|
(fun S => ∑ i, (Q S.1 i * Q S.2 i + U S.1 i * U S.2 i +
|
2024-04-17 15:12:20 -04:00
|
|
|
|
D S.1 i * D S.2 i + L S.1 i * L S.2 i + E S.1 i * E S.2 i
|
2024-04-22 08:41:50 -04:00
|
|
|
|
+ N S.1 i * N S.2 i) + Hd S.1 * Hd S.2 + Hu S.1 * Hu S.2)
|
|
|
|
|
(by
|
|
|
|
|
intro a S T
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only [MSSMSpecies_numberCharges]
|
|
|
|
|
repeat rw [(toSMSpecies _).map_smul]
|
|
|
|
|
rw [Hd.map_smul, Hu.map_smul]
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [HSMul.hSMul, SMul.smul, Fin.isValue, toSMSpecies_apply, Hd_apply, Fin.reduceFinMk,
|
|
|
|
|
Hu_apply]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
|
|
|
|
(by
|
|
|
|
|
intro S1 S2 T
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only [MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue,
|
|
|
|
|
ACCSystemCharges.chargesAddCommMonoid_add, map_add, Hd_apply, Fin.reduceFinMk, Hu_apply]
|
|
|
|
|
repeat erw [AddHom.map_add]
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [Fin.isValue]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
|
|
|
|
(by
|
|
|
|
|
intro S T
|
2024-04-17 15:12:20 -04:00
|
|
|
|
simp only [MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, Hd_apply, Fin.reduceFinMk,
|
|
|
|
|
Hu_apply]
|
|
|
|
|
rw [Fin.sum_univ_three, Fin.sum_univ_three]
|
|
|
|
|
simp only [Fin.isValue]
|
2024-04-22 08:41:50 -04:00
|
|
|
|
ring)
|
2024-04-17 15:12:20 -04:00
|
|
|
|
|
|
|
|
|
end MSSMACC
|