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.FamilyMapsHypercharge in SM with RHN.
Relevant definitions for the SM hypercharge.
@[expose] public sectionThe 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).Charges⊢ Y₁.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
simp only [Fin.isValue, Y₁_val, toSpecies_apply, one_mul, mul_neg,
neg_mul, sub_neg_eq_add, add_left_inj, add_right_inj, mul_eq_mul_right_iff] n:ℕS:(PlusU1 n).Charges⊢ 2 * 4 = 8 ∨ ∑ x, toSpeciesEquiv S 1 x = 0
ring_nf n:ℕS:(PlusU1 n).Charges⊢ True ∨ ∑ x, toSpeciesEquiv S 1 x = 0
simp All goals completed! 🐙
lemma on_quadBiLin_AFL (S : (PlusU1 n).LinSols) : quadBiLin (Y n).val S.val = 0 := by n:ℕS:(PlusU1 n).LinSols⊢ (quadBiLin (Y n).val) S.val = 0
rw [on_quadBiLin, n:ℕS:(PlusU1 n).LinSols⊢ accYY S.val = 0 All goals completed! 🐙 YYsol S n:ℕS:(PlusU1 n).LinSols⊢ 0 = 0 All goals completed! 🐙] All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma add_AFL_quad (S : (PlusU1 n).LinSols) (a b : ℚ) :
accQuad (a • S.val + b • (Y n).val) = a ^ 2 * accQuad S.val := by n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ accQuad (a • S.val + b • (Y n).val) = a ^ 2 * accQuad S.val
erw [BiLinearSymm.toHomogeneousQuad_add, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + quadBiLin.toHomogeneousQuad (b • (Y n).val) +
2 * (quadBiLin (a • S.val)) (b • (Y n).val) =
a ^ 2 * accQuad S.val quadSol (b • (Y n)).1 n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (quadBiLin (a • S.val)) (b • (Y n).val) = a ^ 2 * accQuad S.val] n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (quadBiLin (a • S.val)) (b • (Y n).val) = a ^ 2 * accQuad S.val
rw [quadBiLin.map_smul₁, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (quadBiLin S.val) (b • (Y n).val)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val quadBiLin.map_smul₂, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * (quadBiLin S.val) (Y n).val)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val quadBiLin.swap, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * (quadBiLin (Y n).val) S.val)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val on_quadBiLin_AFL n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val] n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ quadBiLin.toHomogeneousQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val
rw [← accQuad, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ accQuad (a • S.val) + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 2 * accQuad S.val + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val accQuad.map_smul n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 2 * accQuad S.val + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 2 * accQuad S.val + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val] n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 2 * accQuad S.val + 0 + 2 * (a * (b * 0)) = a ^ 2 * accQuad S.val
simp All goals completed! 🐙
lemma add_quad (S : (PlusU1 n).QuadSols) (a b : ℚ) :
accQuad (a • S.val + b • (Y n).val) = 0 := by n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ accQuad (a • S.val + b • (Y n).val) = 0
rw [add_AFL_quad, n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * accQuad S.val = 0 n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * 0 = 0 quadSol S n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * 0 = 0 n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * 0 = 0] n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * 0 = 0; simp 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 := by n:ℕS:(PlusU1 n).QuadSolsa:ℚ⊢ addQuad S a 0 = a • S
simp only [addQuad, linearToQuad, zero_smul, add_zero] n:ℕS:(PlusU1 n).QuadSolsa:ℚ⊢ { toLinSols := a • S.toLinSols, quadSol := ⋯ } = a • S; rfl All goals completed! 🐙
lemma on_cubeTriLin (S : (PlusU1 n).Charges) :
cubeTriLin (Y n).val (Y n).val S = 6 * accYY S := by n:ℕS:(PlusU1 n).Charges⊢ ((cubeTriLin (Y n).val) (Y n).val) S = 6 * accYY S
erw [familyUniversal_cubeTriLin' n:ℕS:(PlusU1 n).Charges⊢ 6 * 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 * accYY S] n:ℕS:(PlusU1 n).Charges⊢ 6 * 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 * accYY S
rw [accYY_decomp n:ℕS:(PlusU1 n).Charges⊢ 6 * 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).Charges⊢ 6 * 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).Charges⊢ 6 * 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)
simp only [Fin.isValue, Y₁_val, mul_one, toSpecies_apply, mul_neg,
neg_mul, neg_neg, mul_zero, zero_mul, add_zero] n:ℕS:(PlusU1 n).Charges⊢ 6 * ∑ 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)
ring All goals completed! 🐙
lemma on_cubeTriLin_AFL (S : (PlusU1 n).LinSols) :
cubeTriLin (Y n).val (Y n).val S.val = 0 := by n:ℕS:(PlusU1 n).LinSols⊢ ((cubeTriLin (Y n).val) (Y n).val) S.val = 0
rw [on_cubeTriLin, n:ℕS:(PlusU1 n).LinSols⊢ 6 * accYY S.val = 0 n:ℕS:(PlusU1 n).LinSols⊢ 6 * 0 = 0 YYsol S n:ℕS:(PlusU1 n).LinSols⊢ 6 * 0 = 0 n:ℕS:(PlusU1 n).LinSols⊢ 6 * 0 = 0] n:ℕS:(PlusU1 n).LinSols⊢ 6 * 0 = 0
with_unfolding_all rfl All goals completed! 🐙
lemma on_cubeTriLin' (S : (PlusU1 n).Charges) :
cubeTriLin (Y n).val S S = 6 * accQuad S := by n:ℕS:(PlusU1 n).Charges⊢ ((cubeTriLin (Y n).val) S) S = 6 * accQuad S
erw [familyUniversal_cubeTriLin n:ℕS:(PlusU1 n).Charges⊢ 6 * 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 * accQuad S] n:ℕS:(PlusU1 n).Charges⊢ 6 * 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 * accQuad S
rw [accQuad_decomp n:ℕS:(PlusU1 n).Charges⊢ 6 * 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).Charges⊢ 6 * 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).Charges⊢ 6 * 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)
simp only [Fin.isValue, Y₁_val, mul_one, toSpecies_apply, mul_neg,
neg_mul, zero_mul, add_zero] n:ℕS:(PlusU1 n).Charges⊢ 6 * ∑ 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)
ring_nf All goals completed! 🐙
lemma on_cubeTriLin'_ALQ (S : (PlusU1 n).QuadSols) :
cubeTriLin (Y n).val S.val S.val = 0 := by n:ℕS:(PlusU1 n).QuadSols⊢ ((cubeTriLin (Y n).val) S.val) S.val = 0
rw [on_cubeTriLin', n:ℕS:(PlusU1 n).QuadSols⊢ 6 * accQuad S.val = 0 n:ℕS:(PlusU1 n).QuadSols⊢ 6 * 0 = 0 quadSol S n:ℕS:(PlusU1 n).QuadSols⊢ 6 * 0 = 0 n:ℕS:(PlusU1 n).QuadSols⊢ 6 * 0 = 0] n:ℕS:(PlusU1 n).QuadSols⊢ 6 * 0 = 0
with_unfolding_all rfl All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma add_AFL_cube (S : (PlusU1 n).LinSols) (a b : ℚ) :
accCube (a • S.val + b • (Y n).val) =
a ^ 2 * (a * accCube S.val + 3 * b * cubeTriLin S.val S.val (Y n).val) := by n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ accCube (a • S.val + b • (Y n).val) = a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val)
erw [TriLinearSymm.toCubic_add, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ cubeTriLin.toCubic (a • S.val) + cubeTriLin.toCubic (b • (Y n).val) +
3 * ((cubeTriLin (a • S.val)) (a • S.val)) (b • (Y n).val) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) cubeSol (b • (Y n)), n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ cubeTriLin.toCubic (a • S.val) + 0 + 3 * ((cubeTriLin (a • S.val)) (a • S.val)) (b • (Y n).val) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) accCube.map_smul n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 3 * accCube S.val + 0 + 3 * ((cubeTriLin (a • S.val)) (a • S.val)) (b • (Y n).val) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val)] n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 3 * accCube S.val + 0 + 3 * ((cubeTriLin (a • S.val)) (a • S.val)) (b • (Y n).val) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val)
repeat rw [cubeTriLin.map_smul₁, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 3 * accCube S.val + 0 + 3 * (a * ((cubeTriLin S.val) (a • S.val)) (b • (Y n).val)) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) 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 * ((cubeTriLin (Y n).val) (Y n).val) S.val))) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) cubeTriLin.map_smul₂, n:ℕS:(PlusU1 n).LinSolsa:ℚb:ℚ⊢ a ^ 3 * accCube S.val + 0 + 3 * (a * (a * ((cubeTriLin S.val) S.val) (b • (Y n).val))) +
3 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) 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 * ((cubeTriLin (Y n).val) (Y n).val) S.val))) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) cubeTriLin.map_smul₃ 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 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) 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 * ((cubeTriLin (Y n).val) (Y n).val) S.val))) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val)] 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 * ((cubeTriLin (b • (Y n).val)) (b • (Y n).val)) (a • S.val) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) 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 * ((cubeTriLin (Y n).val) (Y n).val) S.val))) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) 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 * ((cubeTriLin (Y n).val) (Y n).val) S.val))) =
a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val)
rw [on_cubeTriLin_AFL 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 * 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 * 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)
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply,
add_zero, Y_val, mul_zero] 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))
ring All goals completed! 🐙
lemma add_AFQ_cube (S : (PlusU1 n).QuadSols) (a b : ℚ) :
accCube (a • S.val + b • (Y n).val) = a ^ 3 * accCube S.val := by n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ accCube (a • S.val + b • (Y n).val) = a ^ 3 * accCube S.val
rw [add_AFL_cube, n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin S.val) S.val) (Y n).val) = a ^ 3 * accCube S.val n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val cubeTriLin.swap₃, n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * ((cubeTriLin (Y n).val) S.val) S.val) = a ^ 3 * accCube S.val n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val on_cubeTriLin'_ALQ n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val] n:ℕS:(PlusU1 n).QuadSolsa:ℚb:ℚ⊢ a ^ 2 * (a * accCube S.val + 3 * b * 0) = a ^ 3 * accCube S.val
ring All goals completed! 🐙
lemma add_AF_cube (S : (PlusU1 n).Sols) (a b : ℚ) :
accCube (a • S.val + b • (Y n).val) = 0 := by n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ accCube (a • S.val + b • (Y n).val) = 0
rw [add_AFQ_cube, n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ a ^ 3 * accCube S.val = 0 n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ a ^ 3 * 0 = 0 cubeSol S n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ a ^ 3 * 0 = 0 n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ a ^ 3 * 0 = 0] n:ℕS:(PlusU1 n).Solsa:ℚb:ℚ⊢ a ^ 3 * 0 = 0
simp All goals completed! 🐙
The Sol obtained by adding hypercharge to a Sol.