2024-04-18 08:40:46 -04:00
|
|
|
|
/-
|
|
|
|
|
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
|
|
|
|
|
Released under Apache 2.0 license.
|
|
|
|
|
Authors: Joseph Tooby-Smith
|
|
|
|
|
-/
|
|
|
|
|
import HepLean.AnomalyCancellation.SMNu.Basic
|
|
|
|
|
/-!
|
|
|
|
|
# Family maps for the Standard Model for RHN ACCs
|
|
|
|
|
|
2024-05-20 00:19:34 +02:00
|
|
|
|
We define the a series of maps between the charges for different numbers of families.
|
2024-04-18 08:40:46 -04:00
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
universe v u
|
|
|
|
|
namespace SMRHN
|
|
|
|
|
open SMνCharges
|
|
|
|
|
open SMνACCs
|
|
|
|
|
open BigOperators
|
|
|
|
|
|
|
|
|
|
/-- Given a map of for a generic species, the corresponding map for charges. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def chargesMapOfSpeciesMap {n m : ℕ} (f : (SMνSpecies n).charges →ₗ[ℚ] (SMνSpecies m).charges) :
|
|
|
|
|
(SMνCharges n).charges →ₗ[ℚ] (SMνCharges m).charges where
|
|
|
|
|
toFun S := toSpeciesEquiv.symm (fun i => (LinearMap.comp f (toSpecies i)) S)
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
rw [charges_eq_toSpecies_eq]
|
|
|
|
|
intro i
|
|
|
|
|
rw [map_add]
|
|
|
|
|
rw [toSMSpecies_toSpecies_inv, toSMSpecies_toSpecies_inv, toSMSpecies_toSpecies_inv]
|
|
|
|
|
rw [map_add]
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
rw [charges_eq_toSpecies_eq]
|
|
|
|
|
intro i
|
|
|
|
|
rw [map_smul]
|
|
|
|
|
rw [toSMSpecies_toSpecies_inv, toSMSpecies_toSpecies_inv]
|
|
|
|
|
rw [map_smul]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma chargesMapOfSpeciesMap_toSpecies {n m : ℕ}
|
|
|
|
|
(f : (SMνSpecies n).charges →ₗ[ℚ] (SMνSpecies m).charges)
|
|
|
|
|
(S : (SMνCharges n).charges) (j : Fin 6) :
|
|
|
|
|
toSpecies j (chargesMapOfSpeciesMap f S) = (LinearMap.comp f (toSpecies j)) S := by
|
|
|
|
|
erw [toSMSpecies_toSpecies_inv]
|
|
|
|
|
|
|
|
|
|
/-- The projection of the `m`-family charges onto the first `n`-family charges for species. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def speciesFamilyProj {m n : ℕ} (h : n ≤ m) :
|
|
|
|
|
(SMνSpecies m).charges →ₗ[ℚ] (SMνSpecies n).charges where
|
|
|
|
|
toFun S := S ∘ Fin.castLE h
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
funext i
|
|
|
|
|
simp
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
funext i
|
|
|
|
|
simp [HSMul.hSMul]
|
|
|
|
|
-- rw [show Rat.cast a = a from rfl]
|
|
|
|
|
|
|
|
|
|
/-- The projection of the `m`-family charges onto the first `n`-family charges. -/
|
|
|
|
|
def familyProjection {m n : ℕ} (h : n ≤ m) : (SMνCharges m).charges →ₗ[ℚ] (SMνCharges n).charges :=
|
|
|
|
|
chargesMapOfSpeciesMap (speciesFamilyProj h)
|
|
|
|
|
|
|
|
|
|
/-- For species, the embedding of the `m`-family charges onto the `n`-family charges, with all
|
|
|
|
|
other charges zero. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def speciesEmbed (m n : ℕ) :
|
|
|
|
|
(SMνSpecies m).charges →ₗ[ℚ] (SMνSpecies n).charges where
|
|
|
|
|
toFun S := fun i =>
|
|
|
|
|
if hi : i.val < m then
|
|
|
|
|
S ⟨i, hi⟩
|
|
|
|
|
else
|
|
|
|
|
0
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
funext i
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [SMνSpecies_numberCharges, ACCSystemCharges.chargesAddCommMonoid_add]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
by_cases hi : i.val < m
|
|
|
|
|
erw [dif_pos hi, dif_pos hi, dif_pos hi]
|
|
|
|
|
erw [dif_neg hi, dif_neg hi, dif_neg hi]
|
|
|
|
|
rfl
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
funext i
|
|
|
|
|
simp [HSMul.hSMul]
|
|
|
|
|
by_cases hi : i.val < m
|
|
|
|
|
erw [dif_pos hi, dif_pos hi]
|
|
|
|
|
erw [dif_neg hi, dif_neg hi]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-- The embedding of the `m`-family charges onto the `n`-family charges, with all
|
|
|
|
|
other charges zero. -/
|
|
|
|
|
def familyEmbedding (m n : ℕ) : (SMνCharges m).charges →ₗ[ℚ] (SMνCharges n).charges :=
|
|
|
|
|
chargesMapOfSpeciesMap (speciesEmbed m n)
|
|
|
|
|
|
2024-05-20 00:19:34 +02:00
|
|
|
|
/-- For species, the embedding of the `1`-family charges into the `n`-family charges in
|
2024-04-18 08:40:46 -04:00
|
|
|
|
a universal manor. -/
|
|
|
|
|
@[simps!]
|
|
|
|
|
def speciesFamilyUniversial (n : ℕ) :
|
|
|
|
|
(SMνSpecies 1).charges →ₗ[ℚ] (SMνSpecies n).charges where
|
|
|
|
|
toFun S _ := S ⟨0, by simp⟩
|
|
|
|
|
map_add' S T := by
|
|
|
|
|
funext _
|
|
|
|
|
simp
|
|
|
|
|
map_smul' a S := by
|
|
|
|
|
funext i
|
|
|
|
|
simp [HSMul.hSMul]
|
|
|
|
|
-- rw [show Rat.cast a = a from rfl]
|
|
|
|
|
|
2024-05-20 00:19:34 +02:00
|
|
|
|
/-- The embedding of the `1`-family charges into the `n`-family charges in
|
2024-04-18 08:40:46 -04:00
|
|
|
|
a universal manor. -/
|
|
|
|
|
def familyUniversal (n : ℕ) : (SMνCharges 1).charges →ₗ[ℚ] (SMνCharges n).charges :=
|
|
|
|
|
chargesMapOfSpeciesMap (speciesFamilyUniversial n)
|
|
|
|
|
|
|
|
|
|
lemma toSpecies_familyUniversal {n : ℕ} (j : Fin 6) (S : (SMνCharges 1).charges)
|
|
|
|
|
(i : Fin n) : toSpecies j (familyUniversal n S) i = toSpecies j S ⟨0, by simp⟩ := by
|
|
|
|
|
erw [chargesMapOfSpeciesMap_toSpecies]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma sum_familyUniversal {n : ℕ} (m : ℕ) (S : (SMνCharges 1).charges) (j : Fin 6) :
|
|
|
|
|
∑ i, ((fun a => a ^ m) ∘ toSpecies j (familyUniversal n S)) i =
|
|
|
|
|
n * (toSpecies j S ⟨0, by simp⟩) ^ m := by
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [SMνSpecies_numberCharges, Function.comp_apply, toSpecies_apply, Fin.zero_eta,
|
|
|
|
|
Fin.isValue]
|
|
|
|
|
have h1 : (n : ℚ) * (toSpecies j S ⟨0, by simp⟩) ^ m =
|
|
|
|
|
∑ _i : Fin n, (toSpecies j S ⟨0, by simp⟩) ^ m := by
|
2024-04-18 08:40:46 -04:00
|
|
|
|
rw [Fin.sum_const]
|
|
|
|
|
simp
|
|
|
|
|
erw [h1]
|
|
|
|
|
apply Finset.sum_congr
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only
|
2024-04-18 08:40:46 -04:00
|
|
|
|
intro i _
|
|
|
|
|
erw [toSpecies_familyUniversal]
|
|
|
|
|
|
|
|
|
|
lemma sum_familyUniversal_one {n : ℕ} (S : (SMνCharges 1).charges) (j : Fin 6) :
|
|
|
|
|
∑ i, toSpecies j (familyUniversal n S) i = n * (toSpecies j S ⟨0, by simp⟩) := by
|
|
|
|
|
simpa using @sum_familyUniversal n 1 S j
|
|
|
|
|
|
|
|
|
|
lemma sum_familyUniversal_two {n : ℕ} (S : (SMνCharges 1).charges)
|
|
|
|
|
(T : (SMνCharges n).charges) (j : Fin 6) :
|
|
|
|
|
∑ i, (toSpecies j (familyUniversal n S) i * toSpecies j T i) =
|
|
|
|
|
(toSpecies j S ⟨0, by simp⟩) * ∑ i, toSpecies j T i := by
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [SMνSpecies_numberCharges, toSpecies_apply, Fin.zero_eta, Fin.isValue]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
rw [Finset.mul_sum]
|
|
|
|
|
apply Finset.sum_congr
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only
|
2024-04-18 08:40:46 -04:00
|
|
|
|
intro i _
|
|
|
|
|
erw [toSpecies_familyUniversal]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma sum_familyUniversal_three {n : ℕ} (S : (SMνCharges 1).charges)
|
|
|
|
|
(T L : (SMνCharges n).charges) (j : Fin 6) :
|
|
|
|
|
∑ i, (toSpecies j (familyUniversal n S) i * toSpecies j T i * toSpecies j L i) =
|
|
|
|
|
(toSpecies j S ⟨0, by simp⟩) * ∑ i, toSpecies j T i * toSpecies j L i := by
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [SMνSpecies_numberCharges, toSpecies_apply, Fin.zero_eta, Fin.isValue]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
rw [Finset.mul_sum]
|
|
|
|
|
apply Finset.sum_congr
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only
|
2024-04-18 08:40:46 -04:00
|
|
|
|
intro i _
|
|
|
|
|
erw [toSpecies_familyUniversal]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [SMνSpecies_numberCharges, Fin.zero_eta, Fin.isValue, toSpecies_apply]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accGrav (S : (SMνCharges 1).charges) :
|
|
|
|
|
accGrav (familyUniversal n S) = n * (accGrav S) := by
|
|
|
|
|
rw [accGrav_decomp, accGrav_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accSU2 (S : (SMνCharges 1).charges) :
|
|
|
|
|
accSU2 (familyUniversal n S) = n * (accSU2 S) := by
|
|
|
|
|
rw [accSU2_decomp, accSU2_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accSU3 (S : (SMνCharges 1).charges) :
|
|
|
|
|
accSU3 (familyUniversal n S) = n * (accSU3 S) := by
|
|
|
|
|
rw [accSU3_decomp, accSU3_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accYY (S : (SMνCharges 1).charges) :
|
|
|
|
|
accYY (familyUniversal n S) = n * (accYY S) := by
|
|
|
|
|
rw [accYY_decomp, accYY_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_quadBiLin (S : (SMνCharges 1).charges) (T : (SMνCharges n).charges) :
|
2024-04-22 08:41:50 -04:00
|
|
|
|
quadBiLin (familyUniversal n S) T =
|
2024-04-18 08:40:46 -04:00
|
|
|
|
S (0 : Fin 6) * ∑ i, Q T i - 2 * S (1 : Fin 6) * ∑ i, U T i + S (2 : Fin 6) *∑ i, D T i -
|
|
|
|
|
S (3 : Fin 6) * ∑ i, L T i + S (4 : Fin 6) * ∑ i, E T i := by
|
|
|
|
|
rw [quadBiLin_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_two]
|
|
|
|
|
repeat rw [toSpecies_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, toSpecies_apply, add_left_inj, sub_left_inj,
|
|
|
|
|
sub_right_inj]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accQuad (S : (SMνCharges 1).charges) :
|
|
|
|
|
accQuad (familyUniversal n S) = n * (accQuad S) := by
|
|
|
|
|
rw [accQuad_decomp]
|
|
|
|
|
repeat erw [sum_familyUniversal]
|
|
|
|
|
rw [accQuad_decomp]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_cubeTriLin (S : (SMνCharges 1).charges) (T R : (SMνCharges n).charges) :
|
2024-04-22 09:48:44 -04:00
|
|
|
|
cubeTriLin (familyUniversal n S) T R = 6 * S (0 : Fin 6) * ∑ i, (Q T i * Q R i) +
|
2024-04-18 08:40:46 -04:00
|
|
|
|
3 * S (1 : Fin 6) * ∑ i, (U T i * U R i) + 3 * S (2 : Fin 6) * ∑ i, (D T i * D R i)
|
|
|
|
|
+ 2 * S (3 : Fin 6) * ∑ i, (L T i * L R i) +
|
|
|
|
|
S (4 : Fin 6) * ∑ i, (E T i * E R i) + S (5 : Fin 6) * ∑ i, (N T i * N R i) := by
|
|
|
|
|
rw [cubeTriLin_decomp]
|
|
|
|
|
repeat rw [sum_familyUniversal_three]
|
|
|
|
|
repeat rw [toSpecies_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, toSpecies_apply, add_left_inj]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_cubeTriLin' (S T : (SMνCharges 1).charges) (R : (SMνCharges n).charges) :
|
2024-04-22 09:48:44 -04:00
|
|
|
|
cubeTriLin (familyUniversal n S) (familyUniversal n T) R =
|
2024-04-18 08:40:46 -04:00
|
|
|
|
6 * S (0 : Fin 6) * T (0 : Fin 6) * ∑ i, Q R i +
|
|
|
|
|
3 * S (1 : Fin 6) * T (1 : Fin 6) * ∑ i, U R i
|
|
|
|
|
+ 3 * S (2 : Fin 6) * T (2 : Fin 6) * ∑ i, D R i +
|
|
|
|
|
2 * S (3 : Fin 6) * T (3 : Fin 6) * ∑ i, L R i +
|
|
|
|
|
S (4 : Fin 6) * T (4 : Fin 6) * ∑ i, E R i + S (5 : Fin 6) * T (5 : Fin 6) * ∑ i, N R i := by
|
|
|
|
|
rw [familyUniversal_cubeTriLin]
|
|
|
|
|
repeat rw [sum_familyUniversal_two]
|
|
|
|
|
repeat rw [toSpecies_one]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, toSpecies_apply]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
lemma familyUniversal_accCube (S : (SMνCharges 1).charges) :
|
|
|
|
|
accCube (familyUniversal n S) = n * (accCube S) := by
|
|
|
|
|
rw [accCube_decomp]
|
|
|
|
|
repeat erw [sum_familyUniversal]
|
|
|
|
|
rw [accCube_decomp]
|
2024-04-18 08:47:45 -04:00
|
|
|
|
simp only [Fin.isValue, SMνSpecies_numberCharges, Fin.zero_eta, toSpecies_apply,
|
|
|
|
|
Finset.univ_unique, Fin.default_eq_zero, Finset.sum_singleton]
|
2024-04-18 08:40:46 -04:00
|
|
|
|
ring
|
|
|
|
|
|
|
|
|
|
end SMRHN
|