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.QFT.AnomalyCancellation.BasicAnomaly cancellation conditions for the Standard Model with right-handed neutrinos
This directory is related to the anomaly cancellation conditions (ACCs) for the Standard Model with right-handed neutrinos (SMν).
@[expose] public sectionThe vector space of charges corresponding to the SM fermions with RHN.
@[simps!]
def SMνCharges (n : ℕ) : ACCSystemCharges := ⟨6 * n⟩The vector spaces of charges of one species of fermions in the SM.
@[simps!]
def SMνSpecies (n : ℕ) : ACCSystemCharges := ⟨n⟩lemma sum_one [AddCommMonoid M] (f : Fin (SMνSpecies 1).numberCharges → M) :
∑ i, f i = f ⟨0, n:ℕM:Type ?u.4inst✝:AddCommMonoid Mf:Fin (SMνSpecies 1).numberCharges → M⊢ 0 < (SMνSpecies 1).numberCharges All goals completed! 🐙⟩ := M:Type u_1inst✝:AddCommMonoid Mf:Fin (SMνSpecies 1).numberCharges → M⊢ ∑ i, f i = f ⟨0, ⋯⟩
M:Type u_1inst✝:AddCommMonoid Mf:Fin (SMνSpecies 1).numberCharges → M⊢ ∑ i, f i = f ⟨0, ⋯⟩
M:Type u_1inst✝:AddCommMonoid Mf:Fin (SMνSpecies 1).numberCharges → M⊢ f 0 = f ⟨0, ⋯⟩
All goals completed! 🐙
An equivalence between (SMνCharges n).charges and (Fin 6 → Fin n → ℚ)
splitting the charges into species.
@[simps!]
def toSpeciesEquiv : (SMνCharges n).Charges ≃ (Fin 6 → Fin n → ℚ) :=
((Equiv.curry _ _ _).symm.trans ((@finProdFinEquiv 6 n).arrowCongr (Equiv.refl ℚ))).symm
Given an i ∈ Fin 6, the projection of charges onto a given species.
@[simps!]
def toSpecies (i : Fin 6) : (SMνCharges n).Charges →ₗ[ℚ] (SMνSpecies n).Charges where
toFun S := toSpeciesEquiv S i
map_add' _ _ := rfl
map_smul' _ _ := rfllemma charges_eq_toSpecies_eq (S T : (SMνCharges n).Charges) :
S = T ↔ ∀ i, toSpecies i S = toSpecies i T := n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ S = T ↔ ∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) T
n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:S = T⊢ ∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) Tn:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) T⊢ S = T
n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:S = T⊢ ∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) T All goals completed! 🐙
n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) T⊢ S = T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (i : Fin 6), (toSpecies i) S = (toSpecies i) T⊢ toSpeciesEquiv S = toSpeciesEquiv T
All goals completed! 🐙lemma toSMSpecies_toSpecies_inv (i : Fin 6) (f : Fin 6 → Fin n → ℚ) :
(toSpecies i) (toSpeciesEquiv.symm f) = f i := n:ℕi:Fin 6f:Fin 6 → Fin n → ℚ⊢ (toSpecies i) (toSpeciesEquiv.symm f) = f i
n:ℕi:Fin 6f:Fin 6 → Fin n → ℚ⊢ (⇑toSpeciesEquiv ∘ ⇑toSpeciesEquiv.symm) f i = f i
All goals completed! 🐙lemma toSpecies_one (S : (SMνCharges 1).Charges) (j : Fin 6) :
toSpecies j S ⟨0, zero_lt_succ 0⟩ = S j := S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies j) S ⟨0, ⋯⟩ = S j
match j with
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 0) S ⟨0, ⋯⟩ = S 0 All goals completed! 🐙
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 1) S ⟨0, ⋯⟩ = S 1 All goals completed! 🐙
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 2) S ⟨0, ⋯⟩ = S 2 All goals completed! 🐙
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 3) S ⟨0, ⋯⟩ = S 3 All goals completed! 🐙
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 4) S ⟨0, ⋯⟩ = S 4 All goals completed! 🐙
S:(SMνCharges 1).Chargesj:Fin 6⊢ (toSpecies 5) S ⟨0, ⋯⟩ = S 5 All goals completed! 🐙
The Q charges as a map Fin n → ℚ.
abbrev Q := @toSpecies n 0
The U charges as a map Fin n → ℚ.
abbrev U := @toSpecies n 1
The D charges as a map Fin n → ℚ.
abbrev D := @toSpecies n 2
The L charges as a map Fin n → ℚ.
abbrev L := @toSpecies n 3
The E charges as a map Fin n → ℚ.
abbrev E := @toSpecies n 4
The N charges as a map Fin n → ℚ.
abbrev N := @toSpecies n 5The gravitational anomaly equation.
n:ℕa:ℚS:(SMνCharges n).Charges⊢ 6 * (a * ∑ i, toSpeciesEquiv S 0 i) + 3 * (a * ∑ i, toSpeciesEquiv S 1 i) + 3 * (a * ∑ i, toSpeciesEquiv S 2 i) +
2 * (a * ∑ i, toSpeciesEquiv S 3 i) +
a * ∑ i, toSpeciesEquiv S 4 i +
a * ∑ i, toSpeciesEquiv S 5 i =
a *
(6 * ∑ i, toSpeciesEquiv S 0 i + 3 * ∑ i, toSpeciesEquiv S 1 i + 3 * ∑ i, toSpeciesEquiv S 2 i +
2 * ∑ i, toSpeciesEquiv S 3 i +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x)
-- rw [show Rat.cast a = a from rfl]
ring All goals completed! 🐙
lemma accGrav_decomp (S : (SMνCharges n).Charges) :
accGrav S = 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 := by n:ℕS:(SMνCharges n).Charges⊢ accGrav S = 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
simp only [accGrav, toSpecies_apply, Fin.isValue, LinearMap.coe_mk,
AddHom.coe_mk] n:ℕS:(SMνCharges n).Charges⊢ ∑ x,
(6 * toSpeciesEquiv S 0 x + 3 * toSpeciesEquiv S 1 x + 3 * toSpeciesEquiv S 2 x + 2 * toSpeciesEquiv S 3 x +
toSpeciesEquiv S 4 x +
toSpeciesEquiv S 5 x) =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).Charges⊢ ∑ x,
(6 * toSpeciesEquiv S 0 x + 3 * toSpeciesEquiv S 1 x + 3 * toSpeciesEquiv S 2 x + 2 * toSpeciesEquiv S 3 x +
toSpeciesEquiv S 4 x) +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 6 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv S 1 x + ∑ x, 3 * toSpeciesEquiv S 2 x +
∑ x, 2 * toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (6 * toSpeciesEquiv S 0 x + 3 * toSpeciesEquiv S 1 x) + ∑ x, 3 * toSpeciesEquiv S 2 x +
∑ x, 2 * toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 6 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv S 1 x + ∑ x, 3 * toSpeciesEquiv S 2 x +
∑ x, 2 * toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 6 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv S 1 x + ∑ x, 3 * toSpeciesEquiv S 2 x +
∑ x, 2 * toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).Charges⊢ 6 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, 3 * toSpeciesEquiv S 1 x + ∑ x, 3 * toSpeciesEquiv S 2 x +
∑ x, 2 * toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x =
6 * ∑ x, toSpeciesEquiv S 0 x + 3 * ∑ x, toSpeciesEquiv S 1 x + 3 * ∑ x, toSpeciesEquiv S 2 x +
2 * ∑ x, toSpeciesEquiv S 3 x +
∑ x, toSpeciesEquiv S 4 x +
∑ x, toSpeciesEquiv S 5 x All goals completed! 🐙] All goals completed! 🐙
Extensionality lemma for accGrav.
lemma accGrav_ext {S T : (SMνCharges n).Charges}
(hj : ∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i) :
accGrav S = accGrav T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ accGrav S = accGrav T
rw [accGrav_decomp, n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 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 = accGrav T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 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 =
6 * ∑ i, Q T i + 3 * ∑ i, U T i + 3 * ∑ i, D T i + 2 * ∑ i, L T i + ∑ i, E T i + ∑ i, N T i accGrav_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 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 =
6 * ∑ i, Q T i + 3 * ∑ i, U T i + 3 * ∑ i, D T i + 2 * ∑ i, L T i + ∑ i, E T i + ∑ i, N T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 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 =
6 * ∑ i, Q T i + 3 * ∑ i, U T i + 3 * ∑ i, D T i + 2 * ∑ i, L T i + ∑ i, E T i + ∑ i, N T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 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 =
6 * ∑ i, Q T i + 3 * ∑ i, U T i + 3 * ∑ i, D T i + 2 * ∑ i, L T i + ∑ i, E T i + ∑ i, N T i
repeat rw [hj n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 6 * ∑ i, (toSpecies 0) T i + 3 * ∑ i, U S i + 3 * ∑ i, D S i + 2 * ∑ i, L S i + ∑ i, E S i + ∑ i, N S i =
6 * ∑ i, Q T i + 3 * ∑ i, U T i + 3 * ∑ i, D T i + 2 * ∑ i, L T i + ∑ i, E T i + ∑ i, N T i All goals completed! 🐙] All goals completed! 🐙
The SU(2) anomaly equation.
def accSU2 : (SMνCharges n).Charges →ₗ[ℚ] ℚ where
toFun S := ∑ i, (3 * Q S i + L S i)
map_add' S T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * Q (S + T) i + L (S + T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i)
repeat rw [map_add n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * (Q S + Q T) i + L (S + T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * (Q S + Q T) i + (L S + L T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * (Q S + Q T) i + L (S + T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * (Q S + Q T) i + (L S + L T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (3 * (Q S + Q T) i + (L S + L T) i) = ∑ i, (3 * Q S i + L S i) + ∑ i, (3 * Q T i + L T i)
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply,
Fin.isValue, mul_add] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, (3 * toSpeciesEquiv S 0 x + 3 * toSpeciesEquiv T 0 x + (toSpeciesEquiv S 3 x + toSpeciesEquiv T 3 x)) =
∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x) + ∑ x, (3 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 3 x)
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, (3 * toSpeciesEquiv S 0 x + 3 * toSpeciesEquiv T 0 x) + ∑ x, (toSpeciesEquiv S 3 x + toSpeciesEquiv T 3 x) =
∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x) + ∑ x, (3 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 3 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 3 x + ∑ x, toSpeciesEquiv T 3 x) =
∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x +
(∑ x, 3 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 3 x)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 3 x + ∑ x, toSpeciesEquiv T 3 x) =
∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x + ∑ x, (3 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 3 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 3 x + ∑ x, toSpeciesEquiv T 3 x) =
∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x +
(∑ x, 3 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 3 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, 3 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 3 x + ∑ x, toSpeciesEquiv T 3 x) =
∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x +
(∑ x, 3 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 3 x)
ring All goals completed! 🐙
map_smul' a S := by n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * Q (a • S) i + L (a • S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i)
repeat rw [map_smul n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * (a • Q S) i + L (a • S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * (a • Q S) i + (a • L S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * (a • Q S) i + L (a • S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * (a • Q S) i + (a • L S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (3 * (a • Q S) i + (a • L S) i) = (RingHom.id ℚ) a • ∑ i, (3 * Q S i + L S i)
simp only [HSMul.hSMul, SMul.smul, toSpecies_apply, Fin.isValue,
eq_ratCast, Rat.cast_eq_id, id_eq] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, (3 * (a * toSpeciesEquiv S 0 x) + a * toSpeciesEquiv S 3 x) =
a * ∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x)
repeat rw [Finset.sum_add_distrib n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 3 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 3 x =
a * ∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 3 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 3 x =
a * (∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 3 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 3 x =
a * ∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 3 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 3 x =
a * (∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 3 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 3 x =
a * (∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x)
repeat rw [← Finset.mul_sum n:ℕa:ℚS:(SMνCharges n).Charges⊢ 3 * ∑ i, a * toSpeciesEquiv S 0 i + ∑ x, a * toSpeciesEquiv S 3 x =
a * (∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 3 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 3 i =
a * (3 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 3 x)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ 3 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 3 i =
a * (∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 3 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 3 i =
a * (3 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 3 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 3 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 3 i =
a * (3 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 3 x)
-- rw [show Rat.cast a = a from rfl]
ring All goals completed! 🐙
lemma accSU2_decomp (S : (SMνCharges n).Charges) :
accSU2 S = 3 * ∑ i, Q S i + ∑ i, L S i := by n:ℕS:(SMνCharges n).Charges⊢ accSU2 S = 3 * ∑ i, Q S i + ∑ i, L S i
simp only [accSU2, toSpecies_apply, Fin.isValue, LinearMap.coe_mk,
AddHom.coe_mk] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (3 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 3 x) = 3 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x = 3 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x = 3 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 3 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x = 3 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).Charges⊢ 3 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 3 x = 3 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 3 x All goals completed! 🐙] All goals completed! 🐙
Extensionality lemma for accSU2.
lemma accSU2_ext {S T : (SMνCharges n).Charges}
(hj : ∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i) :
accSU2 S = accSU2 T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ accSU2 S = accSU2 T
rw [accSU2_decomp, n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, Q S i + ∑ i, L S i = accSU2 T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, Q S i + ∑ i, L S i = 3 * ∑ i, Q T i + ∑ i, L T i accSU2_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, Q S i + ∑ i, L S i = 3 * ∑ i, Q T i + ∑ i, L T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, Q S i + ∑ i, L S i = 3 * ∑ i, Q T i + ∑ i, L T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, Q S i + ∑ i, L S i = 3 * ∑ i, Q T i + ∑ i, L T i
repeat rw [hj n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 3 * ∑ i, (toSpecies 0) T i + ∑ i, L S i = 3 * ∑ i, Q T i + ∑ i, L T i All goals completed! 🐙] All goals completed! 🐙
The SU(3) anomaly equations.
def accSU3 : (SMνCharges n).Charges →ₗ[ℚ] ℚ where
toFun S := ∑ i, (2 * Q S i + U S i + D S i)
map_add' S T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * Q (S + T) i + U (S + T) i + D (S + T) i) = ∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i)
repeat rw [map_add n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * (Q S + Q T) i + U (S + T) i + D (S + T) i) =
∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * (Q S + Q T) i + (U S + U T) i + (D S + D T) i) =
∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * (Q S + Q T) i + (U S + U T) i + D (S + T) i) =
∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * (Q S + Q T) i + (U S + U T) i + (D S + D T) i) =
∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (2 * (Q S + Q T) i + (U S + U T) i + (D S + D T) i) =
∑ i, (2 * Q S i + U S i + D S i) + ∑ i, (2 * Q T i + U T i + D T i)
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply,
Fin.isValue, mul_add] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(2 * toSpeciesEquiv S 0 x + 2 * toSpeciesEquiv T 0 x + (toSpeciesEquiv S 1 x + toSpeciesEquiv T 1 x) +
(toSpeciesEquiv S 2 x + toSpeciesEquiv T 2 x)) =
∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x + toSpeciesEquiv S 2 x) +
∑ x, (2 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 1 x + toSpeciesEquiv T 2 x)
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, (2 * toSpeciesEquiv S 0 x + 2 * toSpeciesEquiv T 0 x + (toSpeciesEquiv S 1 x + toSpeciesEquiv T 1 x)) +
∑ x, (toSpeciesEquiv S 2 x + toSpeciesEquiv T 2 x) =
∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x + toSpeciesEquiv S 2 x) +
∑ x, (2 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 1 x + toSpeciesEquiv T 2 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, 2 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv T 1 x) +
(∑ x, toSpeciesEquiv S 2 x + ∑ x, toSpeciesEquiv T 2 x) =
∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x +
(∑ x, 2 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 1 x + ∑ x, toSpeciesEquiv T 2 x)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, 2 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv T 1 x) +
(∑ x, toSpeciesEquiv S 2 x + ∑ x, toSpeciesEquiv T 2 x) =
∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x +
(∑ x, (2 * toSpeciesEquiv T 0 x + toSpeciesEquiv T 1 x) + ∑ x, toSpeciesEquiv T 2 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, 2 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv T 1 x) +
(∑ x, toSpeciesEquiv S 2 x + ∑ x, toSpeciesEquiv T 2 x) =
∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x +
(∑ x, 2 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 1 x + ∑ x, toSpeciesEquiv T 2 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, 2 * toSpeciesEquiv T 0 x +
(∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv T 1 x) +
(∑ x, toSpeciesEquiv S 2 x + ∑ x, toSpeciesEquiv T 2 x) =
∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x +
(∑ x, 2 * toSpeciesEquiv T 0 x + ∑ x, toSpeciesEquiv T 1 x + ∑ x, toSpeciesEquiv T 2 x)
ring All goals completed! 🐙
map_smul' a S := by n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * Q (a • S) i + U (a • S) i + D (a • S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i)
repeat rw [map_smul n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * (a • Q S) i + U (a • S) i + D (a • S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * (a • Q S) i + (a • U S) i + (a • D S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * (a • Q S) i + (a • U S) i + D (a • S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * (a • Q S) i + (a • U S) i + (a • D S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (2 * (a • Q S) i + (a • U S) i + (a • D S) i) = (RingHom.id ℚ) a • ∑ i, (2 * Q S i + U S i + D S i)
simp only [HSMul.hSMul, SMul.smul, toSpecies_apply, Fin.isValue,
eq_ratCast, Rat.cast_eq_id, id_eq] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, (2 * (a * toSpeciesEquiv S 0 x) + a * toSpeciesEquiv S 1 x + a * toSpeciesEquiv S 2 x) =
a * ∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x + toSpeciesEquiv S 2 x)
repeat rw [Finset.sum_add_distrib n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, (2 * (a * toSpeciesEquiv S 0 x) + a * toSpeciesEquiv S 1 x) + ∑ x, a * toSpeciesEquiv S 2 x =
a * ∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x + toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 2 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 1 x + ∑ x, a * toSpeciesEquiv S 2 x =
a * (∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 2 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 1 x + ∑ x, a * toSpeciesEquiv S 2 x =
a * (∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x) + ∑ x, toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 2 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 1 x + ∑ x, a * toSpeciesEquiv S 2 x =
a * (∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, 2 * (a * toSpeciesEquiv S 0 x) + ∑ x, a * toSpeciesEquiv S 1 x + ∑ x, a * toSpeciesEquiv S 2 x =
a * (∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x)
repeat rw [← Finset.mul_sum n:ℕa:ℚS:(SMνCharges n).Charges⊢ 2 * ∑ i, a * toSpeciesEquiv S 0 i + ∑ x, a * toSpeciesEquiv S 1 x + ∑ x, a * toSpeciesEquiv S 2 x =
a * (∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 2 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 1 i + a * ∑ i, toSpeciesEquiv S 2 i =
a * (2 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ 2 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 1 i + a * ∑ i, toSpeciesEquiv S 2 i =
a * (∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 2 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 1 i + a * ∑ i, toSpeciesEquiv S 2 i =
a * (2 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ 2 * (a * ∑ i, toSpeciesEquiv S 0 i) + a * ∑ i, toSpeciesEquiv S 1 i + a * ∑ i, toSpeciesEquiv S 2 i =
a * (2 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x)
-- rw [show Rat.cast a = a from rfl]
ring All goals completed! 🐙
lemma accSU3_decomp (S : (SMνCharges n).Charges) :
accSU3 S = 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i := by n:ℕS:(SMνCharges n).Charges⊢ accSU3 S = 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i
simp only [accSU3, toSpecies_apply, Fin.isValue, LinearMap.coe_mk,
AddHom.coe_mk] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x + toSpeciesEquiv S 2 x) =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x) + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (2 * toSpeciesEquiv S 0 x + toSpeciesEquiv S 1 x) + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x n:ℕS:(SMνCharges n).Charges⊢ ∑ x, 2 * toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).Charges⊢ 2 * ∑ i, toSpeciesEquiv S 0 i + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x =
2 * ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv S 1 x + ∑ x, toSpeciesEquiv S 2 x All goals completed! 🐙] All goals completed! 🐙
Extensionality lemma for accSU3.
lemma accSU3_ext {S T : (SMνCharges n).Charges}
(hj : ∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i) :
accSU3 S = accSU3 T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ accSU3 S = accSU3 T
rw [accSU3_decomp, n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i = accSU3 T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i = 2 * ∑ i, Q T i + ∑ i, U T i + ∑ i, D T i accSU3_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i = 2 * ∑ i, Q T i + ∑ i, U T i + ∑ i, D T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i = 2 * ∑ i, Q T i + ∑ i, U T i + ∑ i, D T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, Q S i + ∑ i, U S i + ∑ i, D S i = 2 * ∑ i, Q T i + ∑ i, U T i + ∑ i, D T i
repeat rw [hj n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ 2 * ∑ i, (toSpecies 0) T i + ∑ i, U S i + ∑ i, D S i = 2 * ∑ i, Q T i + ∑ i, U T i + ∑ i, D T i All goals completed! 🐙] All goals completed! 🐙
The Y² anomaly equation.
def accYY : (SMνCharges n).Charges →ₗ[ℚ] ℚ where
toFun S := ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i
+ 6 * E S i)
map_add' S T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, (Q (S + T) i + 8 * U (S + T) i + 2 * D (S + T) i + 3 * L (S + T) i + 6 * E (S + T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i)
repeat rw [map_add n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, ((Q S + Q T) i + 8 * U (S + T) i + 2 * D (S + T) i + 3 * L (S + T) i + 6 * E (S + T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, ((Q S + Q T) i + 8 * (U S + U T) i + 2 * (D S + D T) i + 3 * (L S + L T) i + 6 * (E S + E T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, ((Q S + Q T) i + 8 * (U S + U T) i + 2 * (D S + D T) i + 3 * (L S + L T) i + 6 * E (S + T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, ((Q S + Q T) i + 8 * (U S + U T) i + 2 * (D S + D T) i + 3 * (L S + L T) i + 6 * (E S + E T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i, ((Q S + Q T) i + 8 * (U S + U T) i + 2 * (D S + D T) i + 3 * (L S + L T) i + 6 * (E S + E T) i) =
∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) +
∑ i, (Q T i + 8 * U T i + 2 * D T i + 3 * L T i + 6 * E T i)
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply,
Fin.isValue, mul_add] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(toSpeciesEquiv S 0 x + toSpeciesEquiv T 0 x + (8 * toSpeciesEquiv S 1 x + 8 * toSpeciesEquiv T 1 x) +
(2 * toSpeciesEquiv S 2 x + 2 * toSpeciesEquiv T 2 x) +
(3 * toSpeciesEquiv S 3 x + 3 * toSpeciesEquiv T 3 x) +
(6 * toSpeciesEquiv S 4 x + 6 * toSpeciesEquiv T 4 x)) =
∑ x,
(toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x +
6 * toSpeciesEquiv S 4 x) +
∑ x,
(toSpeciesEquiv T 0 x + 8 * toSpeciesEquiv T 1 x + 2 * toSpeciesEquiv T 2 x + 3 * toSpeciesEquiv T 3 x +
6 * toSpeciesEquiv T 4 x)
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(toSpeciesEquiv S 0 x + toSpeciesEquiv T 0 x + (8 * toSpeciesEquiv S 1 x + 8 * toSpeciesEquiv T 1 x) +
(2 * toSpeciesEquiv S 2 x + 2 * toSpeciesEquiv T 2 x) +
(3 * toSpeciesEquiv S 3 x + 3 * toSpeciesEquiv T 3 x)) +
∑ x, (6 * toSpeciesEquiv S 4 x + 6 * toSpeciesEquiv T 4 x) =
∑ x,
(toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x +
6 * toSpeciesEquiv S 4 x) +
∑ x,
(toSpeciesEquiv T 0 x + 8 * toSpeciesEquiv T 1 x + 2 * toSpeciesEquiv T 2 x + 3 * toSpeciesEquiv T 3 x +
6 * toSpeciesEquiv T 4 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv T 0 x +
(∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 8 * toSpeciesEquiv T 1 x) +
(∑ x, 2 * toSpeciesEquiv S 2 x + ∑ x, 2 * toSpeciesEquiv T 2 x) +
(∑ x, 3 * toSpeciesEquiv S 3 x + ∑ x, 3 * toSpeciesEquiv T 3 x) +
(∑ x, 6 * toSpeciesEquiv S 4 x + ∑ x, 6 * toSpeciesEquiv T 4 x) =
∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x +
(∑ x, toSpeciesEquiv T 0 x + ∑ x, 8 * toSpeciesEquiv T 1 x + ∑ x, 2 * toSpeciesEquiv T 2 x +
∑ x, 3 * toSpeciesEquiv T 3 x +
∑ x, 6 * toSpeciesEquiv T 4 x)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv T 0 x +
(∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 8 * toSpeciesEquiv T 1 x) +
(∑ x, 2 * toSpeciesEquiv S 2 x + ∑ x, 2 * toSpeciesEquiv T 2 x) +
(∑ x, 3 * toSpeciesEquiv S 3 x + ∑ x, 3 * toSpeciesEquiv T 3 x) +
(∑ x, 6 * toSpeciesEquiv S 4 x + ∑ x, 6 * toSpeciesEquiv T 4 x) =
∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x +
(∑ x, (toSpeciesEquiv T 0 x + 8 * toSpeciesEquiv T 1 x) + ∑ x, 2 * toSpeciesEquiv T 2 x +
∑ x, 3 * toSpeciesEquiv T 3 x +
∑ x, 6 * toSpeciesEquiv T 4 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv T 0 x +
(∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 8 * toSpeciesEquiv T 1 x) +
(∑ x, 2 * toSpeciesEquiv S 2 x + ∑ x, 2 * toSpeciesEquiv T 2 x) +
(∑ x, 3 * toSpeciesEquiv S 3 x + ∑ x, 3 * toSpeciesEquiv T 3 x) +
(∑ x, 6 * toSpeciesEquiv S 4 x + ∑ x, 6 * toSpeciesEquiv T 4 x) =
∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x +
(∑ x, toSpeciesEquiv T 0 x + ∑ x, 8 * toSpeciesEquiv T 1 x + ∑ x, 2 * toSpeciesEquiv T 2 x +
∑ x, 3 * toSpeciesEquiv T 3 x +
∑ x, 6 * toSpeciesEquiv T 4 x) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, toSpeciesEquiv T 0 x +
(∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 8 * toSpeciesEquiv T 1 x) +
(∑ x, 2 * toSpeciesEquiv S 2 x + ∑ x, 2 * toSpeciesEquiv T 2 x) +
(∑ x, 3 * toSpeciesEquiv S 3 x + ∑ x, 3 * toSpeciesEquiv T 3 x) +
(∑ x, 6 * toSpeciesEquiv S 4 x + ∑ x, 6 * toSpeciesEquiv T 4 x) =
∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x +
(∑ x, toSpeciesEquiv T 0 x + ∑ x, 8 * toSpeciesEquiv T 1 x + ∑ x, 2 * toSpeciesEquiv T 2 x +
∑ x, 3 * toSpeciesEquiv T 3 x +
∑ x, 6 * toSpeciesEquiv T 4 x)
ring All goals completed! 🐙
map_smul' a S := by n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, (Q (a • S) i + 8 * U (a • S) i + 2 * D (a • S) i + 3 * L (a • S) i + 6 * E (a • S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i)
repeat rw [map_smul n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, ((a • Q S) i + 8 * U (a • S) i + 2 * D (a • S) i + 3 * L (a • S) i + 6 * E (a • S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, ((a • Q S) i + 8 * (a • U S) i + 2 * (a • D S) i + 3 * (a • L S) i + 6 * (a • E S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, ((a • Q S) i + 8 * (a • U S) i + 2 * (a • D S) i + 3 * (a • L S) i + 6 * E (a • S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, ((a • Q S) i + 8 * (a • U S) i + 2 * (a • D S) i + 3 * (a • L S) i + 6 * (a • E S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ i, ((a • Q S) i + 8 * (a • U S) i + 2 * (a • D S) i + 3 * (a • L S) i + 6 * (a • E S) i) =
(RingHom.id ℚ) a • ∑ i, (Q S i + 8 * U S i + 2 * D S i + 3 * L S i + 6 * E S i)
simp only [HSMul.hSMul, SMul.smul, toSpecies_apply, Fin.isValue,
eq_ratCast, Rat.cast_eq_id, id_eq] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x,
(a * toSpeciesEquiv S 0 x + 8 * (a * toSpeciesEquiv S 1 x) + 2 * (a * toSpeciesEquiv S 2 x) +
3 * (a * toSpeciesEquiv S 3 x) +
6 * (a * toSpeciesEquiv S 4 x)) =
a *
∑ x,
(toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x +
6 * toSpeciesEquiv S 4 x)
repeat rw [Finset.sum_add_distrib n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x,
(a * toSpeciesEquiv S 0 x + 8 * (a * toSpeciesEquiv S 1 x) + 2 * (a * toSpeciesEquiv S 2 x) +
3 * (a * toSpeciesEquiv S 3 x)) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
∑ x,
(toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x +
6 * toSpeciesEquiv S 4 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, a * toSpeciesEquiv S 0 x + ∑ x, 8 * (a * toSpeciesEquiv S 1 x) + ∑ x, 2 * (a * toSpeciesEquiv S 2 x) +
∑ x, 3 * (a * toSpeciesEquiv S 3 x) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
(∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, a * toSpeciesEquiv S 0 x + ∑ x, 8 * (a * toSpeciesEquiv S 1 x) + ∑ x, 2 * (a * toSpeciesEquiv S 2 x) +
∑ x, 3 * (a * toSpeciesEquiv S 3 x) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
(∑ x, (toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x) + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, a * toSpeciesEquiv S 0 x + ∑ x, 8 * (a * toSpeciesEquiv S 1 x) + ∑ x, 2 * (a * toSpeciesEquiv S 2 x) +
∑ x, 3 * (a * toSpeciesEquiv S 3 x) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
(∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ ∑ x, a * toSpeciesEquiv S 0 x + ∑ x, 8 * (a * toSpeciesEquiv S 1 x) + ∑ x, 2 * (a * toSpeciesEquiv S 2 x) +
∑ x, 3 * (a * toSpeciesEquiv S 3 x) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
(∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x)
repeat rw [← Finset.mul_sum n:ℕa:ℚS:(SMνCharges n).Charges⊢ a * ∑ i, toSpeciesEquiv S 0 i + ∑ x, 8 * (a * toSpeciesEquiv S 1 x) + ∑ x, 2 * (a * toSpeciesEquiv S 2 x) +
∑ x, 3 * (a * toSpeciesEquiv S 3 x) +
∑ x, 6 * (a * toSpeciesEquiv S 4 x) =
a *
(∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ a * ∑ i, toSpeciesEquiv S 0 i + 8 * (a * ∑ i, toSpeciesEquiv S 1 i) + 2 * (a * ∑ i, toSpeciesEquiv S 2 i) +
3 * (a * ∑ i, toSpeciesEquiv S 3 i) +
6 * (a * ∑ i, toSpeciesEquiv S 4 i) =
a *
(∑ x, toSpeciesEquiv S 0 x + 8 * ∑ i, toSpeciesEquiv S 1 i + 2 * ∑ i, toSpeciesEquiv S 2 i +
3 * ∑ i, toSpeciesEquiv S 3 i +
6 * ∑ i, toSpeciesEquiv S 4 i)] n:ℕa:ℚS:(SMνCharges n).Charges⊢ a * ∑ i, toSpeciesEquiv S 0 i + 8 * (a * ∑ i, toSpeciesEquiv S 1 i) + 2 * (a * ∑ i, toSpeciesEquiv S 2 i) +
3 * (a * ∑ i, toSpeciesEquiv S 3 i) +
6 * (a * ∑ i, toSpeciesEquiv S 4 i) =
a *
(∑ x, toSpeciesEquiv S 0 x + 8 * ∑ i, toSpeciesEquiv S 1 i + 2 * ∑ i, toSpeciesEquiv S 2 i +
3 * ∑ i, toSpeciesEquiv S 3 i +
∑ x, 6 * toSpeciesEquiv S 4 x) n:ℕa:ℚS:(SMνCharges n).Charges⊢ a * ∑ i, toSpeciesEquiv S 0 i + 8 * (a * ∑ i, toSpeciesEquiv S 1 i) + 2 * (a * ∑ i, toSpeciesEquiv S 2 i) +
3 * (a * ∑ i, toSpeciesEquiv S 3 i) +
6 * (a * ∑ i, toSpeciesEquiv S 4 i) =
a *
(∑ x, toSpeciesEquiv S 0 x + 8 * ∑ i, toSpeciesEquiv S 1 i + 2 * ∑ i, toSpeciesEquiv S 2 i +
3 * ∑ i, toSpeciesEquiv S 3 i +
6 * ∑ i, toSpeciesEquiv S 4 i) n:ℕa:ℚS:(SMνCharges n).Charges⊢ a * ∑ i, toSpeciesEquiv S 0 i + 8 * (a * ∑ i, toSpeciesEquiv S 1 i) + 2 * (a * ∑ i, toSpeciesEquiv S 2 i) +
3 * (a * ∑ i, toSpeciesEquiv S 3 i) +
6 * (a * ∑ i, toSpeciesEquiv S 4 i) =
a *
(∑ x, toSpeciesEquiv S 0 x + 8 * ∑ i, toSpeciesEquiv S 1 i + 2 * ∑ i, toSpeciesEquiv S 2 i +
3 * ∑ i, toSpeciesEquiv S 3 i +
6 * ∑ i, toSpeciesEquiv S 4 i)
-- rw [show Rat.cast a = a from rfl]
ring All goals completed! 🐙
lemma accYY_decomp (S : (SMνCharges n).Charges) :
accYY S = ∑ i, Q S i + 8 * ∑ i, U S i + 2 * ∑ i, D S i + 3 * ∑ i, L S i + 6 * ∑ i, E S i := by n:ℕS:(SMνCharges n).Charges⊢ accYY S = ∑ 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 [accYY, toSpecies_apply, Fin.isValue, LinearMap.coe_mk,
AddHom.coe_mk] n:ℕS:(SMνCharges n).Charges⊢ ∑ x,
(toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x +
6 * toSpeciesEquiv S 4 x) =
∑ 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
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x + 2 * toSpeciesEquiv S 2 x + 3 * toSpeciesEquiv S 3 x) +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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 n:ℕS:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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] n:ℕS:(SMνCharges n).Charges⊢ ∑ x, (toSpeciesEquiv S 0 x + 8 * toSpeciesEquiv S 1 x) + ∑ x, 2 * toSpeciesEquiv S 2 x + ∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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 n:ℕS:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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 n:ℕS:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + ∑ x, 8 * toSpeciesEquiv S 1 x + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x + 8 * ∑ i, toSpeciesEquiv S 1 i + ∑ x, 2 * toSpeciesEquiv S 2 x +
∑ x, 3 * toSpeciesEquiv S 3 x +
∑ x, 6 * toSpeciesEquiv S 4 x =
∑ 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! 🐙] All goals completed! 🐙
Extensionality lemma for accYY.
lemma accYY_ext {S T : (SMνCharges n).Charges}
(hj : ∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i) :
accYY S = accYY T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ accYY S = accYY T
rw [accYY_decomp, n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T 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 = accYY T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T 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 =
∑ i, Q T i + 8 * ∑ i, U T i + 2 * ∑ i, D T i + 3 * ∑ i, L T i + 6 * ∑ i, E T i accYY_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T 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 =
∑ i, Q T i + 8 * ∑ i, U T i + 2 * ∑ i, D T i + 3 * ∑ i, L T i + 6 * ∑ i, E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T 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 =
∑ i, Q T i + 8 * ∑ i, U T i + 2 * ∑ i, D T i + 3 * ∑ i, L T i + 6 * ∑ i, E T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T 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 =
∑ i, Q T i + 8 * ∑ i, U T i + 2 * ∑ i, D T i + 3 * ∑ i, L T i + 6 * ∑ i, E T i
repeat rw [hj n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargeshj:∀ (j : Fin 6), ∑ i, (toSpecies j) S i = ∑ i, (toSpecies j) T i⊢ ∑ i, (toSpecies 0) T i + 8 * ∑ i, U S i + 2 * ∑ i, D S i + 3 * ∑ i, L S i + 6 * ∑ i, E S i =
∑ i, Q T i + 8 * ∑ i, U T i + 2 * ∑ i, D T i + 3 * ∑ i, L T i + 6 * ∑ i, E T i All goals completed! 🐙] All goals completed! 🐙The quadratic bilinear map.
@[simps!]
def quadBiLin : BiLinearSymm (SMνCharges n).Charges := BiLinearSymm.mk₂
(fun S => ∑ i, (Q S.1 i * Q S.2 i +
- 2 * (U S.1 i * U S.2 i) +
D S.1 i * D S.2 i +
(- 1) * (L S.1 i * L S.2 i) +
E S.1 i * E S.2 i))
(by n:ℕ⊢ ∀ (a : ℚ) (S T : (SMνCharges n).Charges),
∑ i,
(Q (a • S, T).1 i * Q (a • S, T).2 i + -2 * (U (a • S, T).1 i * U (a • S, T).2 i) +
D (a • S, T).1 i * D (a • S, T).2 i +
-1 * (L (a • S, T).1 i * L (a • S, T).2 i) +
E (a • S, T).1 i * E (a • S, T).2 i) =
a *
∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i)
intro a S T n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i,
(Q (a • S, T).1 i * Q (a • S, T).2 i + -2 * (U (a • S, T).1 i * U (a • S, T).2 i) +
D (a • S, T).1 i * D (a • S, T).2 i +
-1 * (L (a • S, T).1 i * L (a • S, T).2 i) +
E (a • S, T).1 i * E (a • S, T).2 i) =
a *
∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i)
simp only n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(Q (a • S) x * Q T x + -2 * (U (a • S) x * U T x) + D (a • S) x * D T x + -1 * (L (a • S) x * L T x) +
E (a • S) x * E T x) =
a * ∑ x, (Q S x * Q T x + -2 * (U S x * U T x) + D S x * D T x + -1 * (L S x * L T x) + E S x * E T x)
rw [Finset.mul_sum n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(Q (a • S) x * Q T x + -2 * (U (a • S) x * U T x) + D (a • S) x * D T x + -1 * (L (a • S) x * L T x) +
E (a • S) x * E T x) =
∑ i, a * (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) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(Q (a • S) x * Q T x + -2 * (U (a • S) x * U T x) + D (a • S) x * D T x + -1 * (L (a • S) x * L T x) +
E (a • S) x * E T x) =
∑ i, a * (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)] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(Q (a • S) x * Q T x + -2 * (U (a • S) x * U T x) + D (a • S) x * D T x + -1 * (L (a • S) x * L T x) +
E (a • S) x * E T x) =
∑ i, a * (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)
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ Q (a • S) i * Q T i + -2 * (U (a • S) i * U T i) + D (a • S) i * D T i + -1 * (L (a • S) i * L T i) +
E (a • S) i * E T i =
a * (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)
repeat rw [map_smul n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (a • Q S) i * Q T i + -2 * (U (a • S) i * U T i) + D (a • S) i * D T i + -1 * (L (a • S) i * L T i) +
E (a • S) i * E T i =
a * (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) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (a • Q S) i * Q T i + -2 * ((a • U S) i * U T i) + (a • D S) i * D T i + -1 * ((a • L S) i * L T i) +
(a • E S) i * E T i =
a * (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)] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (a • Q S) i * Q T i + -2 * ((a • U S) i * U T i) + (a • D S) i * D T i + -1 * ((a • L S) i * L T i) +
E (a • S) i * E T i =
a * (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) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (a • Q S) i * Q T i + -2 * ((a • U S) i * U T i) + (a • D S) i * D T i + -1 * ((a • L S) i * L T i) +
(a • E S) i * E T i =
a * (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) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (a • Q S) i * Q T i + -2 * ((a • U S) i * U T i) + (a • D S) i * D T i + -1 * ((a • L S) i * L T i) +
(a • E S) i * E T i =
a * (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)
simp only [HSMul.hSMul, SMul.smul, toSpecies_apply, Fin.isValue, neg_mul, one_mul] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ a * toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i + -(2 * (a * toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i)) +
a * toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i +
-(a * toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i) +
a * toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i =
a *
(toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i + -(2 * (toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i)) +
toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i +
-(toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i)
ring All goals completed! 🐙)
(by n:ℕ⊢ ∀ (S1 S2 T : (SMνCharges n).Charges),
∑ i,
(Q (S1 + S2, T).1 i * Q (S1 + S2, T).2 i + -2 * (U (S1 + S2, T).1 i * U (S1 + S2, T).2 i) +
D (S1 + S2, T).1 i * D (S1 + S2, T).2 i +
-1 * (L (S1 + S2, T).1 i * L (S1 + S2, T).2 i) +
E (S1 + S2, T).1 i * E (S1 + S2, T).2 i) =
∑ i,
(Q (S1, T).1 i * Q (S1, T).2 i + -2 * (U (S1, T).1 i * U (S1, T).2 i) + D (S1, T).1 i * D (S1, T).2 i +
-1 * (L (S1, T).1 i * L (S1, T).2 i) +
E (S1, T).1 i * E (S1, T).2 i) +
∑ i,
(Q (S2, T).1 i * Q (S2, T).2 i + -2 * (U (S2, T).1 i * U (S2, T).2 i) + D (S2, T).1 i * D (S2, T).2 i +
-1 * (L (S2, T).1 i * L (S2, T).2 i) +
E (S2, T).1 i * E (S2, T).2 i)
intro S T R n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ i,
(Q (S + T, R).1 i * Q (S + T, R).2 i + -2 * (U (S + T, R).1 i * U (S + T, R).2 i) +
D (S + T, R).1 i * D (S + T, R).2 i +
-1 * (L (S + T, R).1 i * L (S + T, R).2 i) +
E (S + T, R).1 i * E (S + T, R).2 i) =
∑ i,
(Q (S, R).1 i * Q (S, R).2 i + -2 * (U (S, R).1 i * U (S, R).2 i) + D (S, R).1 i * D (S, R).2 i +
-1 * (L (S, R).1 i * L (S, R).2 i) +
E (S, R).1 i * E (S, R).2 i) +
∑ i,
(Q (T, R).1 i * Q (T, R).2 i + -2 * (U (T, R).1 i * U (T, R).2 i) + D (T, R).1 i * D (T, R).2 i +
-1 * (L (T, R).1 i * L (T, R).2 i) +
E (T, R).1 i * E (T, R).2 i)
simp only n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(Q (S + T) x * Q R x + -2 * (U (S + T) x * U R x) + D (S + T) x * D R x + -1 * (L (S + T) x * L R x) +
E (S + T) x * E R x) =
∑ x, (Q S x * Q R x + -2 * (U S x * U R x) + D S x * D R x + -1 * (L S x * L R x) + E S x * E R x) +
∑ x, (Q T x * Q R x + -2 * (U T x * U R x) + D T x * D R x + -1 * (L T x * L R x) + E T x * E R x)
rw [← Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(Q (S + T) x * Q R x + -2 * (U (S + T) x * U R x) + D (S + T) x * D R x + -1 * (L (S + T) x * L R x) +
E (S + T) x * E R x) =
∑ x,
(Q S x * Q R x + -2 * (U S x * U R x) + D S x * D R x + -1 * (L S x * L R x) + E S x * E R x +
(Q T x * Q R x + -2 * (U T x * U R x) + D T x * D R x + -1 * (L T x * L R x) + E T x * E R x)) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(Q (S + T) x * Q R x + -2 * (U (S + T) x * U R x) + D (S + T) x * D R x + -1 * (L (S + T) x * L R x) +
E (S + T) x * E R x) =
∑ x,
(Q S x * Q R x + -2 * (U S x * U R x) + D S x * D R x + -1 * (L S x * L R x) + E S x * E R x +
(Q T x * Q R x + -2 * (U T x * U R x) + D T x * D R x + -1 * (L T x * L R x) + E T x * E R x))] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(Q (S + T) x * Q R x + -2 * (U (S + T) x * U R x) + D (S + T) x * D R x + -1 * (L (S + T) x * L R x) +
E (S + T) x * E R x) =
∑ x,
(Q S x * Q R x + -2 * (U S x * U R x) + D S x * D R x + -1 * (L S x * L R x) + E S x * E R x +
(Q T x * Q R x + -2 * (U T x * U R x) + D T x * D R x + -1 * (L T x * L R x) + E T x * E R x))
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ Q (S + T) i * Q R i + -2 * (U (S + T) i * U R i) + D (S + T) i * D R i + -1 * (L (S + T) i * L R i) +
E (S + T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i)
repeat rw [map_add n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (Q S + Q T) i * Q R i + -2 * (U (S + T) i * U R i) + D (S + T) i * D R i + -1 * (L (S + T) i * L R i) +
E (S + T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (Q S + Q T) i * Q R i + -2 * ((U S + U T) i * U R i) + (D S + D T) i * D R i + -1 * ((L S + L T) i * L R i) +
(E S + E T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (Q S + Q T) i * Q R i + -2 * ((U S + U T) i * U R i) + (D S + D T) i * D R i + -1 * ((L S + L T) i * L R i) +
E (S + T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (Q S + Q T) i * Q R i + -2 * ((U S + U T) i * U R i) + (D S + D T) i * D R i + -1 * ((L S + L T) i * L R i) +
(E S + E T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (Q S + Q T) i * Q R i + -2 * ((U S + U T) i * U R i) + (D S + D T) i * D R i + -1 * ((L S + L T) i * L R i) +
(E S + E T) i * E R i =
Q S i * Q R i + -2 * (U S i * U R i) + D S i * D R i + -1 * (L S i * L R i) + E S i * E R i +
(Q T i * Q R i + -2 * (U T i * U R i) + D T i * D R i + -1 * (L T i * L R i) + E T i * E R i)
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply, Fin.isValue, neg_mul,
one_mul] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ (toSpeciesEquiv S 0 i + toSpeciesEquiv T 0 i) * toSpeciesEquiv R 0 i +
-(2 * ((toSpeciesEquiv S 1 i + toSpeciesEquiv T 1 i) * toSpeciesEquiv R 1 i)) +
(toSpeciesEquiv S 2 i + toSpeciesEquiv T 2 i) * toSpeciesEquiv R 2 i +
-((toSpeciesEquiv S 3 i + toSpeciesEquiv T 3 i) * toSpeciesEquiv R 3 i) +
(toSpeciesEquiv S 4 i + toSpeciesEquiv T 4 i) * toSpeciesEquiv R 4 i =
toSpeciesEquiv S 0 i * toSpeciesEquiv R 0 i + -(2 * (toSpeciesEquiv S 1 i * toSpeciesEquiv R 1 i)) +
toSpeciesEquiv S 2 i * toSpeciesEquiv R 2 i +
-(toSpeciesEquiv S 3 i * toSpeciesEquiv R 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv R 4 i +
(toSpeciesEquiv T 0 i * toSpeciesEquiv R 0 i + -(2 * (toSpeciesEquiv T 1 i * toSpeciesEquiv R 1 i)) +
toSpeciesEquiv T 2 i * toSpeciesEquiv R 2 i +
-(toSpeciesEquiv T 3 i * toSpeciesEquiv R 3 i) +
toSpeciesEquiv T 4 i * toSpeciesEquiv R 4 i)
ring All goals completed! 🐙)
(by n:ℕ⊢ ∀ (S T : (SMνCharges n).Charges),
∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i) =
∑ i,
(Q (T, S).1 i * Q (T, S).2 i + -2 * (U (T, S).1 i * U (T, S).2 i) + D (T, S).1 i * D (T, S).2 i +
-1 * (L (T, S).1 i * L (T, S).2 i) +
E (T, S).1 i * E (T, S).2 i)
intro S T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i) =
∑ i,
(Q (T, S).1 i * Q (T, S).2 i + -2 * (U (T, S).1 i * U (T, S).2 i) + D (T, S).1 i * D (T, S).2 i +
-1 * (L (T, S).1 i * L (T, S).2 i) +
E (T, S).1 i * E (T, S).2 i)
simp only [toSpecies_apply, Fin.isValue, neg_mul, one_mul] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(toSpeciesEquiv S 0 x * toSpeciesEquiv T 0 x + -(2 * (toSpeciesEquiv S 1 x * toSpeciesEquiv T 1 x)) +
toSpeciesEquiv S 2 x * toSpeciesEquiv T 2 x +
-(toSpeciesEquiv S 3 x * toSpeciesEquiv T 3 x) +
toSpeciesEquiv S 4 x * toSpeciesEquiv T 4 x) =
∑ x,
(toSpeciesEquiv T 0 x * toSpeciesEquiv S 0 x + -(2 * (toSpeciesEquiv T 1 x * toSpeciesEquiv S 1 x)) +
toSpeciesEquiv T 2 x * toSpeciesEquiv S 2 x +
-(toSpeciesEquiv T 3 x * toSpeciesEquiv S 3 x) +
toSpeciesEquiv T 4 x * toSpeciesEquiv S 4 x)
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i + -(2 * (toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i)) +
toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i +
-(toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i =
toSpeciesEquiv T 0 i * toSpeciesEquiv S 0 i + -(2 * (toSpeciesEquiv T 1 i * toSpeciesEquiv S 1 i)) +
toSpeciesEquiv T 2 i * toSpeciesEquiv S 2 i +
-(toSpeciesEquiv T 3 i * toSpeciesEquiv S 3 i) +
toSpeciesEquiv T 4 i * toSpeciesEquiv S 4 i
ring All goals completed! 🐙)
lemma quadBiLin_decomp (S T : (SMνCharges n).Charges) :
quadBiLin S T = ∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i +
∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ (quadBiLin S) T =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i
rw [quadBiLin n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ((BiLinearSymm.mk₂
(fun S =>
∑ i,
(Q S.1 i * Q S.2 i + -2 * (U S.1 i * U S.2 i) + D S.1 i * D S.2 i + -1 * (L S.1 i * L S.2 i) +
E S.1 i * E S.2 i))
⋯ ⋯ ⋯)
S)
T =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ((BiLinearSymm.mk₂
(fun S =>
∑ i,
(Q S.1 i * Q S.2 i + -2 * (U S.1 i * U S.2 i) + D S.1 i * D S.2 i + -1 * (L S.1 i * L S.2 i) +
E S.1 i * E S.2 i))
⋯ ⋯ ⋯)
S)
T =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ((BiLinearSymm.mk₂
(fun S =>
∑ i,
(Q S.1 i * Q S.2 i + -2 * (U S.1 i * U S.2 i) + D S.1 i * D S.2 i + -1 * (L S.1 i * L S.2 i) +
E S.1 i * E S.2 i))
⋯ ⋯ ⋯)
S)
T =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i
rw [BiLinearSymm.mk₂_toFun_apply n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i) =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i) =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ i,
(Q (S, T).1 i * Q (S, T).2 i + -2 * (U (S, T).1 i * U (S, T).2 i) + D (S, T).1 i * D (S, T).2 i +
-1 * (L (S, T).1 i * L (S, T).2 i) +
E (S, T).1 i * E (S, T).2 i) =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x,
(Q (S, T).1 x * Q (S, T).2 x + -2 * (U (S, T).1 x * U (S, T).2 x) + D (S, T).1 x * D (S, T).2 x +
-1 * (L (S, T).1 x * L (S, T).2 x)) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + ∑ x, -2 * (U (S, T).1 x * U (S, T).2 x) + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, (Q (S, T).1 x * Q (S, T).2 x + -2 * (U (S, T).1 x * U (S, T).2 x)) + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + ∑ x, -2 * (U (S, T).1 x * U (S, T).2 x) + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + ∑ x, -2 * (U (S, T).1 x * U (S, T).2 x) + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + -2 * ∑ i, U (S, T).1 i * U (S, T).2 i + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + -2 * ∑ i, U (S, T).1 i * U (S, T).2 i + ∑ x, D (S, T).1 x * D (S, T).2 x +
-1 * ∑ i, L (S, T).1 i * L (S, T).2 i +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + -2 * ∑ i, U (S, T).1 i * U (S, T).2 i + ∑ x, D (S, T).1 x * D (S, T).2 x +
∑ x, -1 * (L (S, T).1 x * L (S, T).2 x) +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + -2 * ∑ i, U (S, T).1 i * U (S, T).2 i + ∑ x, D (S, T).1 x * D (S, T).2 x +
-1 * ∑ i, L (S, T).1 i * L (S, T).2 i +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, Q (S, T).1 x * Q (S, T).2 x + -2 * ∑ i, U (S, T).1 i * U (S, T).2 i + ∑ x, D (S, T).1 x * D (S, T).2 x +
-1 * ∑ i, L (S, T).1 i * L (S, T).2 i +
∑ x, E (S, T).1 x * E (S, T).2 x =
∑ i, Q S i * Q T i - 2 * ∑ i, U S i * U T i + ∑ i, D S i * D T i - ∑ i, L S i * L T i + ∑ i, E S i * E T i
simp only [toSpecies_apply, Fin.isValue, neg_mul, one_mul, add_left_inj] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Charges⊢ ∑ x, toSpeciesEquiv S 0 x * toSpeciesEquiv T 0 x + -(2 * ∑ x, toSpeciesEquiv S 1 x * toSpeciesEquiv T 1 x) +
∑ x, toSpeciesEquiv S 2 x * toSpeciesEquiv T 2 x +
-∑ x, toSpeciesEquiv S 3 x * toSpeciesEquiv T 3 x =
∑ x, toSpeciesEquiv S 0 x * toSpeciesEquiv T 0 x - 2 * ∑ x, toSpeciesEquiv S 1 x * toSpeciesEquiv T 1 x +
∑ x, toSpeciesEquiv S 2 x * toSpeciesEquiv T 2 x -
∑ x, toSpeciesEquiv S 3 x * toSpeciesEquiv T 3 x
ring All goals completed! 🐙The quadratic anomaly cancellation condition.
@[simp]
def accQuad : HomogeneousQuadratic (SMνCharges n).Charges :=
(@quadBiLin n).toHomogeneousQuad
lemma accQuad_decomp (S : (SMνCharges n).Charges) :
accQuad S = ∑ 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 := by n:ℕS:(SMνCharges n).Charges⊢ accQuad S = ∑ 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
change (quadBiLin S) S = _ n:ℕS:(SMνCharges n).Charges⊢ (quadBiLin S) S = ∑ 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
rw [quadBiLin_decomp n:ℕS:(SMνCharges n).Charges⊢ ∑ i, Q S i * Q S i - 2 * ∑ i, U S i * U S i + ∑ i, D S i * D S i - ∑ i, L S i * L S i + ∑ i, E S i * E S i =
∑ 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 n).Charges⊢ ∑ i, Q S i * Q S i - 2 * ∑ i, U S i * U S i + ∑ i, D S i * D S i - ∑ i, L S i * L S i + ∑ i, E S i * E S i =
∑ 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 n).Charges⊢ ∑ i, Q S i * Q S i - 2 * ∑ i, U S i * U S i + ∑ i, D S i * D S i - ∑ i, L S i * L S i + ∑ i, E S i * E S i =
∑ 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
ring_nf All goals completed! 🐙
Extensionality lemma for accQuad.
lemma accQuad_ext {S T : (SMνCharges n).Charges}
(h : ∀ j, ∑ i, ((fun a => a^2) ∘ toSpecies j S) i =
∑ i, ((fun a => a^2) ∘ toSpecies j T) i) :
accQuad S = accQuad T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ accQuad S = accQuad T
rw [accQuad_decomp, n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ ∑ 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 = accQuad T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ ∑ 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 =
∑ i, Q T i ^ 2 - 2 * ∑ i, U T i ^ 2 + ∑ i, D T i ^ 2 - ∑ i, L T i ^ 2 + ∑ i, E T i ^ 2 accQuad_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ ∑ 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 =
∑ i, Q T i ^ 2 - 2 * ∑ i, U T i ^ 2 + ∑ i, D T i ^ 2 - ∑ i, L T i ^ 2 + ∑ i, E T i ^ 2 n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ ∑ 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 =
∑ i, Q T i ^ 2 - 2 * ∑ i, U T i ^ 2 + ∑ i, D T i ^ 2 - ∑ i, L T i ^ 2 + ∑ i, E T i ^ 2] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 2) ∘ (toSpecies j) T) i⊢ ∑ 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 =
∑ i, Q T i ^ 2 - 2 * ∑ i, U T i ^ 2 + ∑ i, D T i ^ 2 - ∑ i, L T i ^ 2 + ∑ i, E T i ^ 2
simp_all All goals completed! 🐙The symmetric trilinear form used to define the cubic acc.
@[simps!]
def cubeTriLin : TriLinearSymm (SMνCharges n).Charges := TriLinearSymm.mk₃
(fun S => ∑ 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))))
(by n:ℕ⊢ ∀ (a : ℚ) (S T L : (SMνCharges n).Charges),
∑ i,
(6 * (Q (a • S, T, L).1 i * Q (a • S, T, L).2.1 i * Q (a • S, T, L).2.2 i) +
3 * (U (a • S, T, L).1 i * U (a • S, T, L).2.1 i * U (a • S, T, L).2.2 i) +
3 * (D (a • S, T, L).1 i * D (a • S, T, L).2.1 i * D (a • S, T, L).2.2 i) +
2 * (SMνCharges.L (a • S, T, L).1 i * SMνCharges.L (a • S, T, L).2.1 i * SMνCharges.L (a • S, T, L).2.2 i) +
E (a • S, T, L).1 i * E (a • S, T, L).2.1 i * E (a • S, T, L).2.2 i +
N (a • S, T, L).1 i * N (a • S, T, L).2.1 i * N (a • S, T, L).2.2 i) =
a *
∑ i,
(6 * (Q (S, T, L).1 i * Q (S, T, L).2.1 i * Q (S, T, L).2.2 i) +
3 * (U (S, T, L).1 i * U (S, T, L).2.1 i * U (S, T, L).2.2 i) +
3 * (D (S, T, L).1 i * D (S, T, L).2.1 i * D (S, T, L).2.2 i) +
2 * (SMνCharges.L (S, T, L).1 i * SMνCharges.L (S, T, L).2.1 i * SMνCharges.L (S, T, L).2.2 i) +
E (S, T, L).1 i * E (S, T, L).2.1 i * E (S, T, L).2.2 i +
N (S, T, L).1 i * N (S, T, L).2.1 i * N (S, T, L).2.2 i)
intro a S T R n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (a • S, T, R).1 i * Q (a • S, T, R).2.1 i * Q (a • S, T, R).2.2 i) +
3 * (U (a • S, T, R).1 i * U (a • S, T, R).2.1 i * U (a • S, T, R).2.2 i) +
3 * (D (a • S, T, R).1 i * D (a • S, T, R).2.1 i * D (a • S, T, R).2.2 i) +
2 * (L (a • S, T, R).1 i * L (a • S, T, R).2.1 i * L (a • S, T, R).2.2 i) +
E (a • S, T, R).1 i * E (a • S, T, R).2.1 i * E (a • S, T, R).2.2 i +
N (a • S, T, R).1 i * N (a • S, T, R).2.1 i * N (a • S, T, R).2.2 i) =
a *
∑ i,
(6 * (Q (S, T, R).1 i * Q (S, T, R).2.1 i * Q (S, T, R).2.2 i) +
3 * (U (S, T, R).1 i * U (S, T, R).2.1 i * U (S, T, R).2.2 i) +
3 * (D (S, T, R).1 i * D (S, T, R).2.1 i * D (S, T, R).2.2 i) +
2 * (L (S, T, R).1 i * L (S, T, R).2.1 i * L (S, T, R).2.2 i) +
E (S, T, R).1 i * E (S, T, R).2.1 i * E (S, T, R).2.2 i +
N (S, T, R).1 i * N (S, T, R).2.1 i * N (S, T, R).2.2 i)
simp only n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (a • S) x * Q T x * Q R x) + 3 * (U (a • S) x * U T x * U R x) + 3 * (D (a • S) x * D T x * D R x) +
2 * (L (a • S) x * L T x * L R x) +
E (a • S) x * E T x * E R x +
N (a • S) x * N T x * N R x) =
a *
∑ x,
(6 * (Q S x * Q T x * Q R x) + 3 * (U S x * U T x * U R x) + 3 * (D S x * D T x * D R x) +
2 * (L S x * L T x * L R x) +
E S x * E T x * E R x +
N S x * N T x * N R x)
rw [Finset.mul_sum n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (a • S) x * Q T x * Q R x) + 3 * (U (a • S) x * U T x * U R x) + 3 * (D (a • S) x * D T x * D R x) +
2 * (L (a • S) x * L T x * L R x) +
E (a • S) x * E T x * E R x +
N (a • S) x * N T x * N R x) =
∑ i,
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (a • S) x * Q T x * Q R x) + 3 * (U (a • S) x * U T x * U R x) + 3 * (D (a • S) x * D T x * D R x) +
2 * (L (a • S) x * L T x * L R x) +
E (a • S) x * E T x * E R x +
N (a • S) x * N T x * N R x) =
∑ i,
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i)] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (a • S) x * Q T x * Q R x) + 3 * (U (a • S) x * U T x * U R x) + 3 * (D (a • S) x * D T x * D R x) +
2 * (L (a • S) x * L T x * L R x) +
E (a • S) x * E T x * E R x +
N (a • S) x * N T x * N R x) =
∑ i,
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i)
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * (Q (a • S) i * Q T i * Q R i) + 3 * (U (a • S) i * U T i * U R i) + 3 * (D (a • S) i * D T i * D R i) +
2 * (L (a • S) i * L T i * L R i) +
E (a • S) i * E T i * E R i +
N (a • S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i)
repeat rw [map_smul n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((a • Q S) i * Q T i * Q R i) + 3 * (U (a • S) i * U T i * U R i) + 3 * (D (a • S) i * D T i * D R i) +
2 * (L (a • S) i * L T i * L R i) +
E (a • S) i * E T i * E R i +
N (a • S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((a • Q S) i * Q T i * Q R i) + 3 * ((a • U S) i * U T i * U R i) + 3 * ((a • D S) i * D T i * D R i) +
2 * ((a • L S) i * L T i * L R i) +
(a • E S) i * E T i * E R i +
(a • N S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i)] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((a • Q S) i * Q T i * Q R i) + 3 * ((a • U S) i * U T i * U R i) + 3 * ((a • D S) i * D T i * D R i) +
2 * ((a • L S) i * L T i * L R i) +
(a • E S) i * E T i * E R i +
N (a • S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((a • Q S) i * Q T i * Q R i) + 3 * ((a • U S) i * U T i * U R i) + 3 * ((a • D S) i * D T i * D R i) +
2 * ((a • L S) i * L T i * L R i) +
(a • E S) i * E T i * E R i +
(a • N S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i) n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((a • Q S) i * Q T i * Q R i) + 3 * ((a • U S) i * U T i * U R i) + 3 * ((a • D S) i * D T i * D R i) +
2 * ((a • L S) i * L T i * L R i) +
(a • E S) i * E T i * E R i +
(a • N S) i * N T i * N R i =
a *
(6 * (Q S i * Q T i * Q R i) + 3 * (U S i * U T i * U R i) + 3 * (D S i * D T i * D R i) +
2 * (L S i * L T i * L R i) +
E S i * E T i * E R i +
N S i * N T i * N R i)
simp only [HSMul.hSMul, SMul.smul, toSpecies_apply, Fin.isValue] n:ℕa:ℚS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * (a * toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i * toSpeciesEquiv R 0 i) +
3 * (a * toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i * toSpeciesEquiv R 1 i) +
3 * (a * toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i * toSpeciesEquiv R 2 i) +
2 * (a * toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i * toSpeciesEquiv R 3 i) +
a * toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i * toSpeciesEquiv R 4 i +
a * toSpeciesEquiv S 5 i * toSpeciesEquiv T 5 i * toSpeciesEquiv R 5 i =
a *
(6 * (toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i * toSpeciesEquiv R 0 i) +
3 * (toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i * toSpeciesEquiv R 1 i) +
3 * (toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i * toSpeciesEquiv R 2 i) +
2 * (toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i * toSpeciesEquiv R 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i * toSpeciesEquiv R 4 i +
toSpeciesEquiv S 5 i * toSpeciesEquiv T 5 i * toSpeciesEquiv R 5 i)
ring All goals completed! 🐙)
(by n:ℕ⊢ ∀ (S1 S2 T L : (SMνCharges n).Charges),
∑ i,
(6 * (Q (S1 + S2, T, L).1 i * Q (S1 + S2, T, L).2.1 i * Q (S1 + S2, T, L).2.2 i) +
3 * (U (S1 + S2, T, L).1 i * U (S1 + S2, T, L).2.1 i * U (S1 + S2, T, L).2.2 i) +
3 * (D (S1 + S2, T, L).1 i * D (S1 + S2, T, L).2.1 i * D (S1 + S2, T, L).2.2 i) +
2 *
(SMνCharges.L (S1 + S2, T, L).1 i * SMνCharges.L (S1 + S2, T, L).2.1 i *
SMνCharges.L (S1 + S2, T, L).2.2 i) +
E (S1 + S2, T, L).1 i * E (S1 + S2, T, L).2.1 i * E (S1 + S2, T, L).2.2 i +
N (S1 + S2, T, L).1 i * N (S1 + S2, T, L).2.1 i * N (S1 + S2, T, L).2.2 i) =
∑ i,
(6 * (Q (S1, T, L).1 i * Q (S1, T, L).2.1 i * Q (S1, T, L).2.2 i) +
3 * (U (S1, T, L).1 i * U (S1, T, L).2.1 i * U (S1, T, L).2.2 i) +
3 * (D (S1, T, L).1 i * D (S1, T, L).2.1 i * D (S1, T, L).2.2 i) +
2 * (SMνCharges.L (S1, T, L).1 i * SMνCharges.L (S1, T, L).2.1 i * SMνCharges.L (S1, T, L).2.2 i) +
E (S1, T, L).1 i * E (S1, T, L).2.1 i * E (S1, T, L).2.2 i +
N (S1, T, L).1 i * N (S1, T, L).2.1 i * N (S1, T, L).2.2 i) +
∑ i,
(6 * (Q (S2, T, L).1 i * Q (S2, T, L).2.1 i * Q (S2, T, L).2.2 i) +
3 * (U (S2, T, L).1 i * U (S2, T, L).2.1 i * U (S2, T, L).2.2 i) +
3 * (D (S2, T, L).1 i * D (S2, T, L).2.1 i * D (S2, T, L).2.2 i) +
2 * (SMνCharges.L (S2, T, L).1 i * SMνCharges.L (S2, T, L).2.1 i * SMνCharges.L (S2, T, L).2.2 i) +
E (S2, T, L).1 i * E (S2, T, L).2.1 i * E (S2, T, L).2.2 i +
N (S2, T, L).1 i * N (S2, T, L).2.1 i * N (S2, T, L).2.2 i)
intro S T R L n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S + T, R, L).1 i * Q (S + T, R, L).2.1 i * Q (S + T, R, L).2.2 i) +
3 * (U (S + T, R, L).1 i * U (S + T, R, L).2.1 i * U (S + T, R, L).2.2 i) +
3 * (D (S + T, R, L).1 i * D (S + T, R, L).2.1 i * D (S + T, R, L).2.2 i) +
2 * (SMνCharges.L (S + T, R, L).1 i * SMνCharges.L (S + T, R, L).2.1 i * SMνCharges.L (S + T, R, L).2.2 i) +
E (S + T, R, L).1 i * E (S + T, R, L).2.1 i * E (S + T, R, L).2.2 i +
N (S + T, R, L).1 i * N (S + T, R, L).2.1 i * N (S + T, R, L).2.2 i) =
∑ i,
(6 * (Q (S, R, L).1 i * Q (S, R, L).2.1 i * Q (S, R, L).2.2 i) +
3 * (U (S, R, L).1 i * U (S, R, L).2.1 i * U (S, R, L).2.2 i) +
3 * (D (S, R, L).1 i * D (S, R, L).2.1 i * D (S, R, L).2.2 i) +
2 * (SMνCharges.L (S, R, L).1 i * SMνCharges.L (S, R, L).2.1 i * SMνCharges.L (S, R, L).2.2 i) +
E (S, R, L).1 i * E (S, R, L).2.1 i * E (S, R, L).2.2 i +
N (S, R, L).1 i * N (S, R, L).2.1 i * N (S, R, L).2.2 i) +
∑ i,
(6 * (Q (T, R, L).1 i * Q (T, R, L).2.1 i * Q (T, R, L).2.2 i) +
3 * (U (T, R, L).1 i * U (T, R, L).2.1 i * U (T, R, L).2.2 i) +
3 * (D (T, R, L).1 i * D (T, R, L).2.1 i * D (T, R, L).2.2 i) +
2 * (SMνCharges.L (T, R, L).1 i * SMνCharges.L (T, R, L).2.1 i * SMνCharges.L (T, R, L).2.2 i) +
E (T, R, L).1 i * E (T, R, L).2.1 i * E (T, R, L).2.2 i +
N (T, R, L).1 i * N (T, R, L).2.1 i * N (T, R, L).2.2 i)
simp only n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S + T) x * Q R x * Q L x) + 3 * (U (S + T) x * U R x * U L x) + 3 * (D (S + T) x * D R x * D L x) +
2 * (SMνCharges.L (S + T) x * SMνCharges.L R x * SMνCharges.L L x) +
E (S + T) x * E R x * E L x +
N (S + T) x * N R x * N L x) =
∑ x,
(6 * (Q S x * Q R x * Q L x) + 3 * (U S x * U R x * U L x) + 3 * (D S x * D R x * D L x) +
2 * (SMνCharges.L S x * SMνCharges.L R x * SMνCharges.L L x) +
E S x * E R x * E L x +
N S x * N R x * N L x) +
∑ x,
(6 * (Q T x * Q R x * Q L x) + 3 * (U T x * U R x * U L x) + 3 * (D T x * D R x * D L x) +
2 * (SMνCharges.L T x * SMνCharges.L R x * SMνCharges.L L x) +
E T x * E R x * E L x +
N T x * N R x * N L x)
rw [← Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S + T) x * Q R x * Q L x) + 3 * (U (S + T) x * U R x * U L x) + 3 * (D (S + T) x * D R x * D L x) +
2 * (SMνCharges.L (S + T) x * SMνCharges.L R x * SMνCharges.L L x) +
E (S + T) x * E R x * E L x +
N (S + T) x * N R x * N L x) =
∑ x,
(6 * (Q S x * Q R x * Q L x) + 3 * (U S x * U R x * U L x) + 3 * (D S x * D R x * D L x) +
2 * (SMνCharges.L S x * SMνCharges.L R x * SMνCharges.L L x) +
E S x * E R x * E L x +
N S x * N R x * N L x +
(6 * (Q T x * Q R x * Q L x) + 3 * (U T x * U R x * U L x) + 3 * (D T x * D R x * D L x) +
2 * (SMνCharges.L T x * SMνCharges.L R x * SMνCharges.L L x) +
E T x * E R x * E L x +
N T x * N R x * N L x)) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S + T) x * Q R x * Q L x) + 3 * (U (S + T) x * U R x * U L x) + 3 * (D (S + T) x * D R x * D L x) +
2 * (SMνCharges.L (S + T) x * SMνCharges.L R x * SMνCharges.L L x) +
E (S + T) x * E R x * E L x +
N (S + T) x * N R x * N L x) =
∑ x,
(6 * (Q S x * Q R x * Q L x) + 3 * (U S x * U R x * U L x) + 3 * (D S x * D R x * D L x) +
2 * (SMνCharges.L S x * SMνCharges.L R x * SMνCharges.L L x) +
E S x * E R x * E L x +
N S x * N R x * N L x +
(6 * (Q T x * Q R x * Q L x) + 3 * (U T x * U R x * U L x) + 3 * (D T x * D R x * D L x) +
2 * (SMνCharges.L T x * SMνCharges.L R x * SMνCharges.L L x) +
E T x * E R x * E L x +
N T x * N R x * N L x))] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S + T) x * Q R x * Q L x) + 3 * (U (S + T) x * U R x * U L x) + 3 * (D (S + T) x * D R x * D L x) +
2 * (SMνCharges.L (S + T) x * SMνCharges.L R x * SMνCharges.L L x) +
E (S + T) x * E R x * E L x +
N (S + T) x * N R x * N L x) =
∑ x,
(6 * (Q S x * Q R x * Q L x) + 3 * (U S x * U R x * U L x) + 3 * (D S x * D R x * D L x) +
2 * (SMνCharges.L S x * SMνCharges.L R x * SMνCharges.L L x) +
E S x * E R x * E L x +
N S x * N R x * N L x +
(6 * (Q T x * Q R x * Q L x) + 3 * (U T x * U R x * U L x) + 3 * (D T x * D R x * D L x) +
2 * (SMνCharges.L T x * SMνCharges.L R x * SMνCharges.L L x) +
E T x * E R x * E L x +
N T x * N R x * N L x))
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * (Q (S + T) i * Q R i * Q L i) + 3 * (U (S + T) i * U R i * U L i) + 3 * (D (S + T) i * D R i * D L i) +
2 * (SMνCharges.L (S + T) i * SMνCharges.L R i * SMνCharges.L L i) +
E (S + T) i * E R i * E L i +
N (S + T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i)
repeat rw [map_add n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((Q S + Q T) i * Q R i * Q L i) + 3 * (U (S + T) i * U R i * U L i) + 3 * (D (S + T) i * D R i * D L i) +
2 * (SMνCharges.L (S + T) i * SMνCharges.L R i * SMνCharges.L L i) +
E (S + T) i * E R i * E L i +
N (S + T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((Q S + Q T) i * Q R i * Q L i) + 3 * ((U S + U T) i * U R i * U L i) + 3 * ((D S + D T) i * D R i * D L i) +
2 * ((SMνCharges.L S + SMνCharges.L T) i * SMνCharges.L R i * SMνCharges.L L i) +
(E S + E T) i * E R i * E L i +
(N S + N T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i)] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((Q S + Q T) i * Q R i * Q L i) + 3 * ((U S + U T) i * U R i * U L i) + 3 * ((D S + D T) i * D R i * D L i) +
2 * ((SMνCharges.L S + SMνCharges.L T) i * SMνCharges.L R i * SMνCharges.L L i) +
(E S + E T) i * E R i * E L i +
N (S + T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((Q S + Q T) i * Q R i * Q L i) + 3 * ((U S + U T) i * U R i * U L i) + 3 * ((D S + D T) i * D R i * D L i) +
2 * ((SMνCharges.L S + SMνCharges.L T) i * SMνCharges.L R i * SMνCharges.L L i) +
(E S + E T) i * E R i * E L i +
(N S + N T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i) n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((Q S + Q T) i * Q R i * Q L i) + 3 * ((U S + U T) i * U R i * U L i) + 3 * ((D S + D T) i * D R i * D L i) +
2 * ((SMνCharges.L S + SMνCharges.L T) i * SMνCharges.L R i * SMνCharges.L L i) +
(E S + E T) i * E R i * E L i +
(N S + N T) i * N R i * N L i =
6 * (Q S i * Q R i * Q L i) + 3 * (U S i * U R i * U L i) + 3 * (D S i * D R i * D L i) +
2 * (SMνCharges.L S i * SMνCharges.L R i * SMνCharges.L L i) +
E S i * E R i * E L i +
N S i * N R i * N L i +
(6 * (Q T i * Q R i * Q L i) + 3 * (U T i * U R i * U L i) + 3 * (D T i * D R i * D L i) +
2 * (SMνCharges.L T i * SMνCharges.L R i * SMνCharges.L L i) +
E T i * E R i * E L i +
N T i * N R i * N L i)
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply, Fin.isValue] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * ((toSpeciesEquiv S 0 i + toSpeciesEquiv T 0 i) * toSpeciesEquiv R 0 i * toSpeciesEquiv L 0 i) +
3 * ((toSpeciesEquiv S 1 i + toSpeciesEquiv T 1 i) * toSpeciesEquiv R 1 i * toSpeciesEquiv L 1 i) +
3 * ((toSpeciesEquiv S 2 i + toSpeciesEquiv T 2 i) * toSpeciesEquiv R 2 i * toSpeciesEquiv L 2 i) +
2 * ((toSpeciesEquiv S 3 i + toSpeciesEquiv T 3 i) * toSpeciesEquiv R 3 i * toSpeciesEquiv L 3 i) +
(toSpeciesEquiv S 4 i + toSpeciesEquiv T 4 i) * toSpeciesEquiv R 4 i * toSpeciesEquiv L 4 i +
(toSpeciesEquiv S 5 i + toSpeciesEquiv T 5 i) * toSpeciesEquiv R 5 i * toSpeciesEquiv L 5 i =
6 * (toSpeciesEquiv S 0 i * toSpeciesEquiv R 0 i * toSpeciesEquiv L 0 i) +
3 * (toSpeciesEquiv S 1 i * toSpeciesEquiv R 1 i * toSpeciesEquiv L 1 i) +
3 * (toSpeciesEquiv S 2 i * toSpeciesEquiv R 2 i * toSpeciesEquiv L 2 i) +
2 * (toSpeciesEquiv S 3 i * toSpeciesEquiv R 3 i * toSpeciesEquiv L 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv R 4 i * toSpeciesEquiv L 4 i +
toSpeciesEquiv S 5 i * toSpeciesEquiv R 5 i * toSpeciesEquiv L 5 i +
(6 * (toSpeciesEquiv T 0 i * toSpeciesEquiv R 0 i * toSpeciesEquiv L 0 i) +
3 * (toSpeciesEquiv T 1 i * toSpeciesEquiv R 1 i * toSpeciesEquiv L 1 i) +
3 * (toSpeciesEquiv T 2 i * toSpeciesEquiv R 2 i * toSpeciesEquiv L 2 i) +
2 * (toSpeciesEquiv T 3 i * toSpeciesEquiv R 3 i * toSpeciesEquiv L 3 i) +
toSpeciesEquiv T 4 i * toSpeciesEquiv R 4 i * toSpeciesEquiv L 4 i +
toSpeciesEquiv T 5 i * toSpeciesEquiv R 5 i * toSpeciesEquiv L 5 i)
ring All goals completed! 🐙)
(by n:ℕ⊢ ∀ (S T L : (SMνCharges n).Charges),
∑ i,
(6 * (Q (S, T, L).1 i * Q (S, T, L).2.1 i * Q (S, T, L).2.2 i) +
3 * (U (S, T, L).1 i * U (S, T, L).2.1 i * U (S, T, L).2.2 i) +
3 * (D (S, T, L).1 i * D (S, T, L).2.1 i * D (S, T, L).2.2 i) +
2 * (SMνCharges.L (S, T, L).1 i * SMνCharges.L (S, T, L).2.1 i * SMνCharges.L (S, T, L).2.2 i) +
E (S, T, L).1 i * E (S, T, L).2.1 i * E (S, T, L).2.2 i +
N (S, T, L).1 i * N (S, T, L).2.1 i * N (S, T, L).2.2 i) =
∑ i,
(6 * (Q (T, S, L).1 i * Q (T, S, L).2.1 i * Q (T, S, L).2.2 i) +
3 * (U (T, S, L).1 i * U (T, S, L).2.1 i * U (T, S, L).2.2 i) +
3 * (D (T, S, L).1 i * D (T, S, L).2.1 i * D (T, S, L).2.2 i) +
2 * (SMνCharges.L (T, S, L).1 i * SMνCharges.L (T, S, L).2.1 i * SMνCharges.L (T, S, L).2.2 i) +
E (T, S, L).1 i * E (T, S, L).2.1 i * E (T, S, L).2.2 i +
N (T, S, L).1 i * N (T, S, L).2.1 i * N (T, S, L).2.2 i)
intro S T L n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S, T, L).1 i * Q (S, T, L).2.1 i * Q (S, T, L).2.2 i) +
3 * (U (S, T, L).1 i * U (S, T, L).2.1 i * U (S, T, L).2.2 i) +
3 * (D (S, T, L).1 i * D (S, T, L).2.1 i * D (S, T, L).2.2 i) +
2 * (SMνCharges.L (S, T, L).1 i * SMνCharges.L (S, T, L).2.1 i * SMνCharges.L (S, T, L).2.2 i) +
E (S, T, L).1 i * E (S, T, L).2.1 i * E (S, T, L).2.2 i +
N (S, T, L).1 i * N (S, T, L).2.1 i * N (S, T, L).2.2 i) =
∑ i,
(6 * (Q (T, S, L).1 i * Q (T, S, L).2.1 i * Q (T, S, L).2.2 i) +
3 * (U (T, S, L).1 i * U (T, S, L).2.1 i * U (T, S, L).2.2 i) +
3 * (D (T, S, L).1 i * D (T, S, L).2.1 i * D (T, S, L).2.2 i) +
2 * (SMνCharges.L (T, S, L).1 i * SMνCharges.L (T, S, L).2.1 i * SMνCharges.L (T, S, L).2.2 i) +
E (T, S, L).1 i * E (T, S, L).2.1 i * E (T, S, L).2.2 i +
N (T, S, L).1 i * N (T, S, L).2.1 i * N (T, S, L).2.2 i)
simp only [toSpecies_apply, Fin.isValue] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (toSpeciesEquiv S 0 x * toSpeciesEquiv T 0 x * toSpeciesEquiv L 0 x) +
3 * (toSpeciesEquiv S 1 x * toSpeciesEquiv T 1 x * toSpeciesEquiv L 1 x) +
3 * (toSpeciesEquiv S 2 x * toSpeciesEquiv T 2 x * toSpeciesEquiv L 2 x) +
2 * (toSpeciesEquiv S 3 x * toSpeciesEquiv T 3 x * toSpeciesEquiv L 3 x) +
toSpeciesEquiv S 4 x * toSpeciesEquiv T 4 x * toSpeciesEquiv L 4 x +
toSpeciesEquiv S 5 x * toSpeciesEquiv T 5 x * toSpeciesEquiv L 5 x) =
∑ x,
(6 * (toSpeciesEquiv T 0 x * toSpeciesEquiv S 0 x * toSpeciesEquiv L 0 x) +
3 * (toSpeciesEquiv T 1 x * toSpeciesEquiv S 1 x * toSpeciesEquiv L 1 x) +
3 * (toSpeciesEquiv T 2 x * toSpeciesEquiv S 2 x * toSpeciesEquiv L 2 x) +
2 * (toSpeciesEquiv T 3 x * toSpeciesEquiv S 3 x * toSpeciesEquiv L 3 x) +
toSpeciesEquiv T 4 x * toSpeciesEquiv S 4 x * toSpeciesEquiv L 4 x +
toSpeciesEquiv T 5 x * toSpeciesEquiv S 5 x * toSpeciesEquiv L 5 x)
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * (toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i * toSpeciesEquiv L 0 i) +
3 * (toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i * toSpeciesEquiv L 1 i) +
3 * (toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i * toSpeciesEquiv L 2 i) +
2 * (toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i * toSpeciesEquiv L 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i * toSpeciesEquiv L 4 i +
toSpeciesEquiv S 5 i * toSpeciesEquiv T 5 i * toSpeciesEquiv L 5 i =
6 * (toSpeciesEquiv T 0 i * toSpeciesEquiv S 0 i * toSpeciesEquiv L 0 i) +
3 * (toSpeciesEquiv T 1 i * toSpeciesEquiv S 1 i * toSpeciesEquiv L 1 i) +
3 * (toSpeciesEquiv T 2 i * toSpeciesEquiv S 2 i * toSpeciesEquiv L 2 i) +
2 * (toSpeciesEquiv T 3 i * toSpeciesEquiv S 3 i * toSpeciesEquiv L 3 i) +
toSpeciesEquiv T 4 i * toSpeciesEquiv S 4 i * toSpeciesEquiv L 4 i +
toSpeciesEquiv T 5 i * toSpeciesEquiv S 5 i * toSpeciesEquiv L 5 i
ring All goals completed! 🐙)
(by n:ℕ⊢ ∀ (S T L : (SMνCharges n).Charges),
∑ i,
(6 * (Q (S, T, L).1 i * Q (S, T, L).2.1 i * Q (S, T, L).2.2 i) +
3 * (U (S, T, L).1 i * U (S, T, L).2.1 i * U (S, T, L).2.2 i) +
3 * (D (S, T, L).1 i * D (S, T, L).2.1 i * D (S, T, L).2.2 i) +
2 * (SMνCharges.L (S, T, L).1 i * SMνCharges.L (S, T, L).2.1 i * SMνCharges.L (S, T, L).2.2 i) +
E (S, T, L).1 i * E (S, T, L).2.1 i * E (S, T, L).2.2 i +
N (S, T, L).1 i * N (S, T, L).2.1 i * N (S, T, L).2.2 i) =
∑ i,
(6 * (Q (S, L, T).1 i * Q (S, L, T).2.1 i * Q (S, L, T).2.2 i) +
3 * (U (S, L, T).1 i * U (S, L, T).2.1 i * U (S, L, T).2.2 i) +
3 * (D (S, L, T).1 i * D (S, L, T).2.1 i * D (S, L, T).2.2 i) +
2 * (SMνCharges.L (S, L, T).1 i * SMνCharges.L (S, L, T).2.1 i * SMνCharges.L (S, L, T).2.2 i) +
E (S, L, T).1 i * E (S, L, T).2.1 i * E (S, L, T).2.2 i +
N (S, L, T).1 i * N (S, L, T).2.1 i * N (S, L, T).2.2 i)
intro S T L n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S, T, L).1 i * Q (S, T, L).2.1 i * Q (S, T, L).2.2 i) +
3 * (U (S, T, L).1 i * U (S, T, L).2.1 i * U (S, T, L).2.2 i) +
3 * (D (S, T, L).1 i * D (S, T, L).2.1 i * D (S, T, L).2.2 i) +
2 * (SMνCharges.L (S, T, L).1 i * SMνCharges.L (S, T, L).2.1 i * SMνCharges.L (S, T, L).2.2 i) +
E (S, T, L).1 i * E (S, T, L).2.1 i * E (S, T, L).2.2 i +
N (S, T, L).1 i * N (S, T, L).2.1 i * N (S, T, L).2.2 i) =
∑ i,
(6 * (Q (S, L, T).1 i * Q (S, L, T).2.1 i * Q (S, L, T).2.2 i) +
3 * (U (S, L, T).1 i * U (S, L, T).2.1 i * U (S, L, T).2.2 i) +
3 * (D (S, L, T).1 i * D (S, L, T).2.1 i * D (S, L, T).2.2 i) +
2 * (SMνCharges.L (S, L, T).1 i * SMνCharges.L (S, L, T).2.1 i * SMνCharges.L (S, L, T).2.2 i) +
E (S, L, T).1 i * E (S, L, T).2.1 i * E (S, L, T).2.2 i +
N (S, L, T).1 i * N (S, L, T).2.1 i * N (S, L, T).2.2 i)
simp only [toSpecies_apply, Fin.isValue] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Charges⊢ ∑ x,
(6 * (toSpeciesEquiv S 0 x * toSpeciesEquiv T 0 x * toSpeciesEquiv L 0 x) +
3 * (toSpeciesEquiv S 1 x * toSpeciesEquiv T 1 x * toSpeciesEquiv L 1 x) +
3 * (toSpeciesEquiv S 2 x * toSpeciesEquiv T 2 x * toSpeciesEquiv L 2 x) +
2 * (toSpeciesEquiv S 3 x * toSpeciesEquiv T 3 x * toSpeciesEquiv L 3 x) +
toSpeciesEquiv S 4 x * toSpeciesEquiv T 4 x * toSpeciesEquiv L 4 x +
toSpeciesEquiv S 5 x * toSpeciesEquiv T 5 x * toSpeciesEquiv L 5 x) =
∑ x,
(6 * (toSpeciesEquiv S 0 x * toSpeciesEquiv L 0 x * toSpeciesEquiv T 0 x) +
3 * (toSpeciesEquiv S 1 x * toSpeciesEquiv L 1 x * toSpeciesEquiv T 1 x) +
3 * (toSpeciesEquiv S 2 x * toSpeciesEquiv L 2 x * toSpeciesEquiv T 2 x) +
2 * (toSpeciesEquiv S 3 x * toSpeciesEquiv L 3 x * toSpeciesEquiv T 3 x) +
toSpeciesEquiv S 4 x * toSpeciesEquiv L 4 x * toSpeciesEquiv T 4 x +
toSpeciesEquiv S 5 x * toSpeciesEquiv L 5 x * toSpeciesEquiv T 5 x)
refine Fintype.sum_congr _ _ fun i ↦ ?_ n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesL:(SMνCharges n).Chargesi:Fin (SMνSpecies n).numberCharges⊢ 6 * (toSpeciesEquiv S 0 i * toSpeciesEquiv T 0 i * toSpeciesEquiv L 0 i) +
3 * (toSpeciesEquiv S 1 i * toSpeciesEquiv T 1 i * toSpeciesEquiv L 1 i) +
3 * (toSpeciesEquiv S 2 i * toSpeciesEquiv T 2 i * toSpeciesEquiv L 2 i) +
2 * (toSpeciesEquiv S 3 i * toSpeciesEquiv T 3 i * toSpeciesEquiv L 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv T 4 i * toSpeciesEquiv L 4 i +
toSpeciesEquiv S 5 i * toSpeciesEquiv T 5 i * toSpeciesEquiv L 5 i =
6 * (toSpeciesEquiv S 0 i * toSpeciesEquiv L 0 i * toSpeciesEquiv T 0 i) +
3 * (toSpeciesEquiv S 1 i * toSpeciesEquiv L 1 i * toSpeciesEquiv T 1 i) +
3 * (toSpeciesEquiv S 2 i * toSpeciesEquiv L 2 i * toSpeciesEquiv T 2 i) +
2 * (toSpeciesEquiv S 3 i * toSpeciesEquiv L 3 i * toSpeciesEquiv T 3 i) +
toSpeciesEquiv S 4 i * toSpeciesEquiv L 4 i * toSpeciesEquiv T 4 i +
toSpeciesEquiv S 5 i * toSpeciesEquiv L 5 i * toSpeciesEquiv T 5 i
ring All goals completed! 🐙)
lemma cubeTriLin_decomp (S T R : (SMνCharges n).Charges) :
cubeTriLin S T R = 6 * ∑ i, (Q S i * Q T i * Q R i) + 3 * ∑ i, (U S i * U T i * U R i) +
3 * ∑ i, (D S i * D T i * D R i) + 2 * ∑ i, (L S i * L T i * L R i) +
∑ i, (E S i * E T i * E R i) + ∑ i, (N S i * N T i * N R i) := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ((cubeTriLin S) T) R =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i
rw [cubeTriLin n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ (((TriLinearSymm.mk₃
(fun S =>
∑ 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))
⋯ ⋯ ⋯ ⋯)
S)
T)
R =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ (((TriLinearSymm.mk₃
(fun S =>
∑ 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))
⋯ ⋯ ⋯ ⋯)
S)
T)
R =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ (((TriLinearSymm.mk₃
(fun S =>
∑ 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))
⋯ ⋯ ⋯ ⋯)
S)
T)
R =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i
rw [TriLinearSymm.mk₃_toFun_apply_apply n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S, T, R).1 i * Q (S, T, R).2.1 i * Q (S, T, R).2.2 i) +
3 * (U (S, T, R).1 i * U (S, T, R).2.1 i * U (S, T, R).2.2 i) +
3 * (D (S, T, R).1 i * D (S, T, R).2.1 i * D (S, T, R).2.2 i) +
2 * (L (S, T, R).1 i * L (S, T, R).2.1 i * L (S, T, R).2.2 i) +
E (S, T, R).1 i * E (S, T, R).2.1 i * E (S, T, R).2.2 i +
N (S, T, R).1 i * N (S, T, R).2.1 i * N (S, T, R).2.2 i) =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S, T, R).1 i * Q (S, T, R).2.1 i * Q (S, T, R).2.2 i) +
3 * (U (S, T, R).1 i * U (S, T, R).2.1 i * U (S, T, R).2.2 i) +
3 * (D (S, T, R).1 i * D (S, T, R).2.1 i * D (S, T, R).2.2 i) +
2 * (L (S, T, R).1 i * L (S, T, R).2.1 i * L (S, T, R).2.2 i) +
E (S, T, R).1 i * E (S, T, R).2.1 i * E (S, T, R).2.2 i +
N (S, T, R).1 i * N (S, T, R).2.1 i * N (S, T, R).2.2 i) =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ i,
(6 * (Q (S, T, R).1 i * Q (S, T, R).2.1 i * Q (S, T, R).2.2 i) +
3 * (U (S, T, R).1 i * U (S, T, R).2.1 i * U (S, T, R).2.2 i) +
3 * (D (S, T, R).1 i * D (S, T, R).2.1 i * D (S, T, R).2.2 i) +
2 * (L (S, T, R).1 i * L (S, T, R).2.1 i * L (S, T, R).2.2 i) +
E (S, T, R).1 i * E (S, T, R).2.1 i * E (S, T, R).2.2 i +
N (S, T, R).1 i * N (S, T, R).2.1 i * N (S, T, R).2.2 i) =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i
repeat rw [Finset.sum_add_distrib n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S, T, R).1 x * Q (S, T, R).2.1 x * Q (S, T, R).2.2 x) +
3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x) +
3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x) +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x, 6 * (Q (S, T, R).1 x * Q (S, T, R).2.1 x * Q (S, T, R).2.2 x) +
∑ x, 3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x) +
∑ x, 3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
∑ x, 2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
∑ x, E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x,
(6 * (Q (S, T, R).1 x * Q (S, T, R).2.1 x * Q (S, T, R).2.2 x) +
3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x)) +
∑ x, 3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
∑ x, 2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
∑ x, E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x, 6 * (Q (S, T, R).1 x * Q (S, T, R).2.1 x * Q (S, T, R).2.2 x) +
∑ x, 3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x) +
∑ x, 3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
∑ x, 2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
∑ x, E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ ∑ x, 6 * (Q (S, T, R).1 x * Q (S, T, R).2.1 x * Q (S, T, R).2.2 x) +
∑ x, 3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x) +
∑ x, 3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
∑ x, 2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
∑ x, E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i
repeat rw [← Finset.mul_sum n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).ChargesR:(SMνCharges n).Charges⊢ 6 * ∑ i, Q (S, T, R).1 i * Q (S, T, R).2.1 i * Q (S, T, R).2.2 i +
∑ x, 3 * (U (S, T, R).1 x * U (S, T, R).2.1 x * U (S, T, R).2.2 x) +
∑ x, 3 * (D (S, T, R).1 x * D (S, T, R).2.1 x * D (S, T, R).2.2 x) +
∑ x, 2 * (L (S, T, R).1 x * L (S, T, R).2.1 x * L (S, T, R).2.2 x) +
∑ x, E (S, T, R).1 x * E (S, T, R).2.1 x * E (S, T, R).2.2 x +
∑ x, N (S, T, R).1 x * N (S, T, R).2.1 x * N (S, T, R).2.2 x =
6 * ∑ i, Q S i * Q T i * Q R i + 3 * ∑ i, U S i * U T i * U R i + 3 * ∑ i, D S i * D T i * D R i +
2 * ∑ i, L S i * L T i * L R i +
∑ i, E S i * E T i * E R i +
∑ i, N S i * N T i * N R i All goals completed! 🐙] All goals completed! 🐙The cubic ACC.
@[simp]
def accCube : HomogeneousCubic (SMνCharges n).Charges := cubeTriLin.toCubic
lemma accCube_decomp (S : (SMνCharges n).Charges) :
accCube S = 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 := by n:ℕS:(SMνCharges n).Charges⊢ accCube S =
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
change cubeTriLin S S S = _ n:ℕS:(SMνCharges n).Charges⊢ ((cubeTriLin S) S) S =
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
rw [cubeTriLin_decomp n:ℕS:(SMνCharges n).Charges⊢ 6 * ∑ i, Q S i * Q S i * Q S i + 3 * ∑ i, U S i * U S i * U S i + 3 * ∑ i, D S i * D S i * D S i +
2 * ∑ i, L S i * L S i * L S i +
∑ i, E S i * E S i * E S i +
∑ i, N S i * N S i * N S i =
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 n).Charges⊢ 6 * ∑ i, Q S i * Q S i * Q S i + 3 * ∑ i, U S i * U S i * U S i + 3 * ∑ i, D S i * D S i * D S i +
2 * ∑ i, L S i * L S i * L S i +
∑ i, E S i * E S i * E S i +
∑ i, N S i * N S i * N S i =
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 n).Charges⊢ 6 * ∑ i, Q S i * Q S i * Q S i + 3 * ∑ i, U S i * U S i * U S i + 3 * ∑ i, D S i * D S i * D S i +
2 * ∑ i, L S i * L S i * L S i +
∑ i, E S i * E S i * E S i +
∑ i, N S i * N S i * N S i =
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
ring_nf All goals completed! 🐙
Extensionality lemma for accCube.
lemma accCube_ext {S T : (SMνCharges n).Charges}
(h : ∀ j, ∑ i, ((fun a => a^3) ∘ toSpecies j S) i =
∑ i, ((fun a => a^3) ∘ toSpecies j T) i) :
accCube S = accCube T := by n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ accCube S = accCube T
repeat rw [accCube_decomp n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ 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 =
accCube T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ 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 =
6 * ∑ i, Q T i ^ 3 + 3 * ∑ i, U T i ^ 3 + 3 * ∑ i, D T i ^ 3 + 2 * ∑ i, L T i ^ 3 + ∑ i, E T i ^ 3 + ∑ i, N T i ^ 3] n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ 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 =
accCube T n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ 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 =
6 * ∑ i, Q T i ^ 3 + 3 * ∑ i, U T i ^ 3 + 3 * ∑ i, D T i ^ 3 + 2 * ∑ i, L T i ^ 3 + ∑ i, E T i ^ 3 + ∑ i, N T i ^ 3 n:ℕS:(SMνCharges n).ChargesT:(SMνCharges n).Chargesh:∀ (j : Fin 6), ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) S) i = ∑ i, ((fun a => a ^ 3) ∘ (toSpecies j) T) i⊢ 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 =
6 * ∑ i, Q T i ^ 3 + 3 * ∑ i, U T i ^ 3 + 3 * ∑ i, D T i ^ 3 + 2 * ∑ i, L T i ^ 3 + ∑ i, E T i ^ 3 + ∑ i, N T i ^ 3
simp_all All goals completed! 🐙