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.BeyondTheStandardModel.RHN.AnomalyCancellation.Basic

Family maps for the Standard Model for RHN ACCs

We define the a series of maps between the charges for different numbers of families.

@[expose] public section

Given a map of for a generic species, the corresponding map for charges.

n:m:f:(SMνSpecies n).Charges →ₗ[] (SMνSpecies m).Chargesa:S:(SMνCharges n).Chargesi:Fin 6a (f ∘ₗ toSpecies i) S = (RingHom.id ) a (f ∘ₗ toSpecies i) S All goals completed! 🐙
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 := 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' _ _ := rfl map_smul' _ _ := 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.

m:n:a:S:(SMνSpecies m).Chargesi:Fin (SMνSpecies n).numberChargeshi:¬i < m0 = a * 0 All goals completed! 🐙

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)

For species, the embedding of the 1-family charges into the n-family charges in a universal manner.

@[simps!] def speciesFamilyUniversial (n : ) : (SMνSpecies 1).Charges →ₗ[] (SMνSpecies n).Charges where toFun S _ := S 0, Nat.zero_lt_succ 0 map_add' _ _ := rfl map_smul' _ _ := rfl

The embedding of the 1-family charges into the n-family charges in a universal manner.

def familyUniversal (n : ) : (SMνCharges 1).Charges →ₗ[] (SMνCharges n).Charges := chargesMapOfSpeciesMap (speciesFamilyUniversial n)
n:j:Fin 6S:(SMνCharges 1).Chargesi:Fin n(speciesFamilyUniversial n ∘ₗ toSpecies j) S i = (toSpecies j) S 0, All goals completed! 🐙n:m:S:(SMνCharges 1).Chargesj:Fin 6h1:n * (toSpecies j) S 0, ^ m = _i, (toSpecies j) S 0, ^ m x, (familyUniversal n) S (finProdFinEquiv (j, x)) ^ m = n * S (finProdFinEquiv (j, 0)) ^ m erw [n:m:S:(SMνCharges 1).Chargesj:Fin 6h1:n * (toSpecies j) S 0, ^ m = _i, (toSpecies j) S 0, ^ m x, (familyUniversal n) S (finProdFinEquiv (j, x)) ^ m = _i, (toSpecies j) S 0, ^ mn:m:S:(SMνCharges 1).Chargesj:Fin 6h1:n * (toSpecies j) S 0, ^ m = _i, (toSpecies j) S 0, ^ m x, (familyUniversal n) S (finProdFinEquiv (j, x)) ^ m = _i, (toSpecies j) S 0, ^ m n:m:S:(SMνCharges 1).Chargesj:Fin 6h1:n * (toSpecies j) S 0, ^ m = _i, (toSpecies j) S 0, ^ mi:Fin (SMνSpecies n).numberChargesx✝:i Finset.univ(familyUniversal n) S (finProdFinEquiv (j, i)) ^ m = (toSpecies j) S 0, ^ m erw [n:m:S:(SMνCharges 1).Chargesj:Fin 6h1:n * (toSpecies j) S 0, ^ m = _i, (toSpecies j) S 0, ^ mi:Fin (SMνSpecies n).numberChargesx✝:i Finset.univ(toSpecies j) S 0, ^ m = (toSpecies j) S 0, ^ mAll goals completed! 🐙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, n:S:(SMνCharges 1).Chargesj:Fin 60 < (SMνSpecies 1).numberCharges All goals completed! 🐙) := n:S:(SMνCharges 1).Chargesj:Fin 6 i, (toSpecies j) ((familyUniversal n) S) i = n * (toSpecies j) S 0, All goals completed! 🐙n:S:(SMνCharges 1).ChargesT:(SMνCharges n).Chargesj:Fin 6 x, (familyUniversal n) S (finProdFinEquiv (j, x)) * T (finProdFinEquiv (j, x)) = i, S (finProdFinEquiv (j, 0)) * T (finProdFinEquiv (j, i)) n:S:(SMνCharges 1).ChargesT:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesx✝:i Finset.univ(familyUniversal n) S (finProdFinEquiv (j, i)) * T (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * T (finProdFinEquiv (j, i)) erw [n:S:(SMνCharges 1).ChargesT:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesx✝:i Finset.univ(toSpecies j) S 0, * T (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * T (finProdFinEquiv (j, i))n:S:(SMνCharges 1).ChargesT:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesx✝:i Finset.univ(toSpecies j) S 0, * T (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * T (finProdFinEquiv (j, i)) All goals completed! 🐙n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6 x, (familyUniversal n) S (finProdFinEquiv (j, x)) * T (finProdFinEquiv (j, x)) * L (finProdFinEquiv (j, x)) = i, S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i))) n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6Finset.univ = Finset.univn:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6 x Finset.univ, (familyUniversal n) S (finProdFinEquiv (j, x)) * T (finProdFinEquiv (j, x)) * L (finProdFinEquiv (j, x)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, x)) * L (finProdFinEquiv (j, x))) n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6Finset.univ = Finset.univ All goals completed! 🐙 n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6 x Finset.univ, (familyUniversal n) S (finProdFinEquiv (j, x)) * T (finProdFinEquiv (j, x)) * L (finProdFinEquiv (j, x)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, x)) * L (finProdFinEquiv (j, x))) n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesa✝:i Finset.univ(familyUniversal n) S (finProdFinEquiv (j, i)) * T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i))) erw [n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesa✝:i Finset.univ(toSpecies j) S 0, * T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i)))n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesa✝:i Finset.univ(toSpecies j) S 0, * T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i))) n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesj:Fin 6i:Fin (SMνSpecies n).numberChargesa✝:i Finset.univS (finProdFinEquiv (j, 0)) * T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i)) = S (finProdFinEquiv (j, 0)) * (T (finProdFinEquiv (j, i)) * L (finProdFinEquiv (j, i))) All goals completed! 🐙n:S:(SMνCharges 1).Charges6 * (n * (toSpecies 0) S 0, ) + 3 * (n * (toSpecies 1) S 0, ) + 3 * (n * (toSpecies 2) S 0, ) + 2 * (n * (toSpecies 3) S 0, ) + n * (toSpecies 4) S 0, + n * (toSpecies 5) S 0, = n * (6 * i, Q S i + 3 * i, U S i + 3 * i, D S i + 2 * i, L S i + i, E S i + i, N S i) n:S:(SMνCharges 1).Charges6 * (n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 0 0, ) + 3 * (n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 1 0, ) + 3 * (n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 2 0, ) + 2 * (n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 3 0, ) + n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 4 0, + n * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 5 0, = n * (6 * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 0 0, sum_one._proof_1 + 3 * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 1 0, sum_one._proof_1 + 3 * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 2 0, sum_one._proof_1 + 2 * ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 3 0, sum_one._proof_1 + ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 4 0, sum_one._proof_1 + ((finProdFinEquiv.symm.arrowCongr (Equiv.refl )).trans (Equiv.curry (Fin 6) (Fin 1) )) S 5 0, sum_one._proof_1) All goals completed! 🐙n:S:(SMνCharges 1).Charges3 * (n * (toSpecies 0) S 0, ) + n * (toSpecies 3) S 0, = n * (3 * i, Q S i + i, L S i) n:S:(SMνCharges 1).Charges3 * (n * toSpeciesEquiv S 0 0, ) + n * toSpeciesEquiv S 3 0, = n * (3 * toSpeciesEquiv S 0 0, sum_one._proof_1 + toSpeciesEquiv S 3 0, sum_one._proof_1) All goals completed! 🐙n:S:(SMνCharges 1).Charges2 * (n * (toSpecies 0) S 0, ) + n * (toSpecies 1) S 0, + n * (toSpecies 2) S 0, = n * (2 * i, Q S i + i, U S i + i, D S i) n:S:(SMνCharges 1).Charges2 * (n * toSpeciesEquiv S 0 0, ) + n * toSpeciesEquiv S 1 0, + n * toSpeciesEquiv S 2 0, = n * (2 * toSpeciesEquiv S 0 0, sum_one._proof_1 + toSpeciesEquiv S 1 0, sum_one._proof_1 + toSpeciesEquiv S 2 0, sum_one._proof_1) All goals completed! 🐙n:S:(SMνCharges 1).Chargesn * (toSpecies 0) S 0, + 8 * (n * (toSpecies 1) S 0, ) + 2 * (n * (toSpecies 2) S 0, ) + 3 * (n * (toSpecies 3) S 0, ) + 6 * (n * (toSpecies 4) S 0, ) = n * ( i, Q S i + 8 * i, U S i + 2 * i, D S i + 3 * i, L S i + 6 * i, E S i) n:S:(SMνCharges 1).Chargesn * toSpeciesEquiv S 0 0, + 8 * (n * toSpeciesEquiv S 1 0, ) + 2 * (n * toSpeciesEquiv S 2 0, ) + 3 * (n * toSpeciesEquiv S 3 0, ) + 6 * (n * toSpeciesEquiv S 4 0, ) = n * (toSpeciesEquiv S 0 0, sum_one._proof_1 + 8 * toSpeciesEquiv S 1 0, sum_one._proof_1 + 2 * toSpeciesEquiv S 2 0, sum_one._proof_1 + 3 * toSpeciesEquiv S 3 0, sum_one._proof_1 + 6 * toSpeciesEquiv S 4 0, sum_one._proof_1) All goals completed! 🐙n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesS 0 * i, (toSpecies 0) T i - 2 * (S 1 * i, (toSpecies 1) T i) + S 2 * i, (toSpecies 2) T i - S 3 * i, (toSpecies 3) T i + S 4 * i, (toSpecies 4) T i = S 0 * i, Q T i - 2 * S 1 * i, U T i + S 2 * i, D T i - S 3 * i, L T i + S 4 * i, E T i n:S:(SMνCharges 1).ChargesT:(SMνCharges n).Charges2 * (S 1 * x, toSpeciesEquiv T 1 x) = 2 * S 1 * x, toSpeciesEquiv T 1 x All goals completed! 🐙n:S:(SMνCharges 1).Chargesn * (toSpecies 0) S 0, ^ 2 - 2 * (n * (toSpecies 1) S 0, ^ 2) + n * (toSpecies 2) S 0, ^ 2 - n * (toSpecies 3) S 0, ^ 2 + n * (toSpecies 4) S 0, ^ 2 = n * ( i, Q S i ^ 2 - 2 * i, U S i ^ 2 + i, D S i ^ 2 - i, L S i ^ 2 + i, E S i ^ 2) n:S:(SMνCharges 1).Chargesn * toSpeciesEquiv S 0 0, ^ 2 - 2 * (n * toSpeciesEquiv S 1 0, ^ 2) + n * toSpeciesEquiv S 2 0, ^ 2 - n * toSpeciesEquiv S 3 0, ^ 2 + n * toSpeciesEquiv S 4 0, ^ 2 = n * (toSpeciesEquiv S 0 0, sum_one._proof_1 ^ 2 - 2 * toSpeciesEquiv S 1 0, sum_one._proof_1 ^ 2 + toSpeciesEquiv S 2 0, sum_one._proof_1 ^ 2 - toSpeciesEquiv S 3 0, sum_one._proof_1 ^ 2 + toSpeciesEquiv S 4 0, sum_one._proof_1 ^ 2) All goals completed! 🐙n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges6 * (S 0 * i, (toSpecies 0) T i * (toSpecies 0) R i) + 3 * (S 1 * i, (toSpecies 1) T i * (toSpecies 1) R i) + 3 * (S 2 * i, (toSpecies 2) T i * (toSpecies 2) R i) + 2 * (S 3 * i, (toSpecies 3) T i * (toSpecies 3) R i) + S 4 * i, (toSpecies 4) T i * (toSpecies 4) R i + S 5 * i, (toSpecies 5) T i * (toSpecies 5) R i = 6 * S 0 * i, Q T i * Q R i + 3 * S 1 * i, U T i * U R i + 3 * S 2 * i, D T i * D R i + 2 * S 3 * i, L T i * L R i + S 4 * i, E T i * E R i + S 5 * i, N T i * N R i n:S:(SMνCharges 1).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges6 * (S 0 * x, toSpeciesEquiv T 0 x * toSpeciesEquiv R 0 x) + 3 * (S 1 * x, toSpeciesEquiv T 1 x * toSpeciesEquiv R 1 x) + 3 * (S 2 * x, toSpeciesEquiv T 2 x * toSpeciesEquiv R 2 x) + 2 * (S 3 * x, toSpeciesEquiv T 3 x * toSpeciesEquiv R 3 x) = 6 * S 0 * x, toSpeciesEquiv T 0 x * toSpeciesEquiv R 0 x + 3 * S 1 * x, toSpeciesEquiv T 1 x * toSpeciesEquiv R 1 x + 3 * S 2 * x, toSpeciesEquiv T 2 x * toSpeciesEquiv R 2 x + 2 * S 3 * x, toSpeciesEquiv T 3 x * toSpeciesEquiv R 3 x All goals completed! 🐙n:S:(SMνCharges 1).ChargesT:(SMνCharges 1).ChargesR:(SMνCharges n).Charges6 * S 0 * (T 0 * i, (toSpecies 0) R i) + 3 * S 1 * (T 1 * i, (toSpecies 1) R i) + 3 * S 2 * (T 2 * i, (toSpecies 2) R i) + 2 * S 3 * (T 3 * i, (toSpecies 3) R i) + S 4 * (T 4 * i, (toSpecies 4) R i) + S 5 * (T 5 * i, (toSpecies 5) R i) = 6 * S 0 * T 0 * i, Q R i + 3 * S 1 * T 1 * i, U R i + 3 * S 2 * T 2 * i, D R i + 2 * S 3 * T 3 * i, L R i + S 4 * T 4 * i, E R i + S 5 * T 5 * i, N R i n:S:(SMνCharges 1).ChargesT:(SMνCharges 1).ChargesR:(SMνCharges n).Charges6 * S 0 * (T 0 * x, toSpeciesEquiv R 0 x) + 3 * S 1 * (T 1 * x, toSpeciesEquiv R 1 x) + 3 * S 2 * (T 2 * x, toSpeciesEquiv R 2 x) + 2 * S 3 * (T 3 * x, toSpeciesEquiv R 3 x) + S 4 * (T 4 * x, toSpeciesEquiv R 4 x) + S 5 * (T 5 * x, toSpeciesEquiv R 5 x) = 6 * S 0 * T 0 * x, toSpeciesEquiv R 0 x + 3 * S 1 * T 1 * x, toSpeciesEquiv R 1 x + 3 * S 2 * T 2 * x, toSpeciesEquiv R 2 x + 2 * S 3 * T 3 * x, toSpeciesEquiv R 3 x + S 4 * T 4 * x, toSpeciesEquiv R 4 x + S 5 * T 5 * x, toSpeciesEquiv R 5 x All goals completed! 🐙n:S:(SMνCharges 1).Charges6 * (n * (toSpecies 0) S 0, ^ 3) + 3 * (n * (toSpecies 1) S 0, ^ 3) + 3 * (n * (toSpecies 2) S 0, ^ 3) + 2 * (n * (toSpecies 3) S 0, ^ 3) + n * (toSpecies 4) S 0, ^ 3 + n * (toSpecies 5) S 0, ^ 3 = n * (6 * i, Q S i ^ 3 + 3 * i, U S i ^ 3 + 3 * i, D S i ^ 3 + 2 * i, L S i ^ 3 + i, E S i ^ 3 + i, N S i ^ 3) n:S:(SMνCharges 1).Charges6 * (n * toSpeciesEquiv S 0 0, ^ 3) + 3 * (n * toSpeciesEquiv S 1 0, ^ 3) + 3 * (n * toSpeciesEquiv S 2 0, ^ 3) + 2 * (n * toSpeciesEquiv S 3 0, ^ 3) + n * toSpeciesEquiv S 4 0, ^ 3 + n * toSpeciesEquiv S 5 0, ^ 3 = n * (6 * toSpeciesEquiv S 0 0, sum_one._proof_1 ^ 3 + 3 * toSpeciesEquiv S 1 0, sum_one._proof_1 ^ 3 + 3 * toSpeciesEquiv S 2 0, sum_one._proof_1 ^ 3 + 2 * toSpeciesEquiv S 3 0, sum_one._proof_1 ^ 3 + toSpeciesEquiv S 4 0, sum_one._proof_1 ^ 3 + toSpeciesEquiv S 5 0, sum_one._proof_1 ^ 3) All goals completed! 🐙