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.PlusU1.FamilyMaps

Hypercharge in SM with RHN.

Relevant definitions for the SM hypercharge.

@[expose] public section

The hypercharge for 1 family.

@[simps!] def Y₁ : (PlusU1 1).Sols where val := fun i => match i with | (0 : Fin 6) => 1 | (1 : Fin 6) => -4 | (2 : Fin 6) => 2 | (3 : Fin 6) => -3 | (4 : Fin 6) => 6 | (5 : Fin 6) => 0 linearSol := (i : Fin (PlusU1 1).numberLinear), (((PlusU1 1).linearACCs i) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 i:Fin (PlusU1 1).numberLinear(((PlusU1 1).linearACCs i) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 match i with i:Fin (PlusU1 1).numberLinearisLt✝:0 < (PlusU1 1).numberLinear(((PlusU1 1).linearACCs 0, isLt✝) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙 i:Fin (PlusU1 1).numberLinearisLt✝:1 < (PlusU1 1).numberLinear(((PlusU1 1).linearACCs 1, isLt✝) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙 i:Fin (PlusU1 1).numberLinearisLt✝:2 < (PlusU1 1).numberLinear(((PlusU1 1).linearACCs 2, isLt✝) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙 i:Fin (PlusU1 1).numberLinearisLt✝:3 < (PlusU1 1).numberLinear(((PlusU1 1).linearACCs 3, isLt✝) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙 quadSol := (i : Fin (PlusU1 1).numberQuadratic), (((PlusU1 1).quadraticACCs i) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 i:Fin (PlusU1 1).numberQuadratic(((PlusU1 1).quadraticACCs i) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 match i with i:Fin (PlusU1 1).numberQuadraticisLt✝:0 < (PlusU1 1).numberQuadratic(((PlusU1 1).quadraticACCs 0, isLt✝) fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙 cubicSol := ((PlusU1 1).cubicACC fun i => match i with | 0 => 1 | 1 => -4 | 2 => 2 | 3 => -3 | 4 => 6 | 5 => 0) = 0 with_unfolding_all All goals completed! 🐙

The hypercharge for n family.

@[simps!] def Y (n : ) : (PlusU1 n).Sols := familyUniversalAF n Y₁
n:S:(PlusU1 n).ChargesY₁.val 0 * i, Q S i - 2 * Y₁.val 1 * i, U S i + Y₁.val 2 * i, D S i - Y₁.val 3 * i, L S i + Y₁.val 4 * i, E S i = 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:(PlusU1 n).Charges2 * 4 = 8 x, toSpeciesEquiv S 1 x = 0 n:S:(PlusU1 n).ChargesTrue x, toSpeciesEquiv S 1 x = 0 All goals completed! 🐙All goals completed! 🐙n:S:(PlusU1 n).LinSolsa:b:a ^ 2 * accQuad S.val + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val All goals completed! 🐙n:S:(PlusU1 n).QuadSolsa:b:a ^ 2 * 0 = 0; All goals completed! 🐙

The QuadSol obtained by adding hypercharge to a QuadSol.

def addQuad (S : (PlusU1 n).QuadSols) (a b : ) : (PlusU1 n).QuadSols := linearToQuad (a S.1 + b (Y n).1.1) (add_quad S a b)
lemma addQuad_zero (S : (PlusU1 n).QuadSols) (a : ) : addQuad S a 0 = a S := n:S:(PlusU1 n).QuadSolsa:addQuad S a 0 = a S n:S:(PlusU1 n).QuadSolsa:{ toLinSols := a S.toLinSols, quadSol := } = a S; All goals completed! 🐙n:S:(PlusU1 n).Charges6 * Y₁.val 0 * Y₁.val 0 * i, Q S i + 3 * Y₁.val 1 * Y₁.val 1 * i, U S i + 3 * Y₁.val 2 * Y₁.val 2 * i, D S i + 2 * Y₁.val 3 * Y₁.val 3 * i, L S i + Y₁.val 4 * Y₁.val 4 * i, E S i + Y₁.val 5 * Y₁.val 5 * i, N S i = 6 * ( 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:(PlusU1 n).Charges6 * x, toSpeciesEquiv S 0 x + 3 * 4 * 4 * x, toSpeciesEquiv S 1 x + 3 * 2 * 2 * x, toSpeciesEquiv S 2 x + 2 * 3 * 3 * x, toSpeciesEquiv S 3 x + 6 * 6 * x, toSpeciesEquiv S 4 x = 6 * ( x, toSpeciesEquiv S 0 x + 8 * x, toSpeciesEquiv S 1 x + 2 * x, toSpeciesEquiv S 2 x + 3 * x, toSpeciesEquiv S 3 x + 6 * x, toSpeciesEquiv S 4 x) All goals completed! 🐙n:S:(PlusU1 n).LinSols6 * 0 = 0 with_unfolding_all All goals completed! 🐙n:S:(PlusU1 n).Charges6 * Y₁.val 0 * i, Q S i * Q S i + 3 * Y₁.val 1 * i, U S i * U S i + 3 * Y₁.val 2 * i, D S i * D S i + 2 * Y₁.val 3 * i, L S i * L S i + Y₁.val 4 * i, E S i * E S i + Y₁.val 5 * i, N S i * N S i = 6 * ( 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:(PlusU1 n).Charges6 * x, toSpeciesEquiv S 0 x * toSpeciesEquiv S 0 x + -(3 * 4 * x, toSpeciesEquiv S 1 x * toSpeciesEquiv S 1 x) + 3 * 2 * x, toSpeciesEquiv S 2 x * toSpeciesEquiv S 2 x + -(2 * 3 * x, toSpeciesEquiv S 3 x * toSpeciesEquiv S 3 x) + 6 * x, toSpeciesEquiv S 4 x * toSpeciesEquiv S 4 x = 6 * ( x, toSpeciesEquiv S 0 x ^ 2 - 2 * x, toSpeciesEquiv S 1 x ^ 2 + x, toSpeciesEquiv S 2 x ^ 2 - x, toSpeciesEquiv S 3 x ^ 2 + x, toSpeciesEquiv S 4 x ^ 2) All goals completed! 🐙n:S:(PlusU1 n).QuadSols6 * 0 = 0 with_unfolding_all All goals completed! 🐙n:S:(PlusU1 n).LinSolsa:b:a ^ 3 * accCube S.val + 0 + 3 * (a * (a * (b * ((cubeTriLin S.val) S.val) (Y n).val))) + 3 * (b * (b * (a * 0))) = a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) n:S:(PlusU1 n).LinSolsa:b:a ^ 3 * ((cubeTriLin S.val) S.val) S.val + 3 * (a * (a * (b * ((cubeTriLin S.val) S.val) ((familyUniversal n) Y₁.val)))) = a ^ 2 * (a * ((cubeTriLin S.val) S.val) S.val + 3 * b * ((cubeTriLin S.val) S.val) ((familyUniversal n) Y₁.val)) All goals completed! 🐙n:S:(PlusU1 n).QuadSolsa:b:a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val All goals completed! 🐙n:S:(PlusU1 n).Solsa:b:a ^ 3 * 0 = 0 All goals completed! 🐙

The Sol obtained by adding hypercharge to a Sol.

def addCube (S : (PlusU1 n).Sols) (a b : ) : (PlusU1 n).Sols := quadToAF (addQuad S.1 a b) (add_AF_cube S a b)