refactor: def of symmetric trilin function
This commit is contained in:
parent
748bcb61ae
commit
e36c61b331
24 changed files with 279 additions and 246 deletions
|
@ -295,47 +295,52 @@ lemma accQuad_ext {S T : (SMνCharges n).charges}
|
|||
|
||||
/-- The symmetric trilinear form used to define the cubic acc. -/
|
||||
@[simps!]
|
||||
def cubeTriLin : TriLinearSymm (SMνCharges n).charges where
|
||||
toFun S := ∑ i, (6 * ((Q S.1 i) * (Q S.2.1 i) * (Q S.2.2 i))
|
||||
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)))
|
||||
map_smul₁' a S T R := by
|
||||
+ ((N S.1 i) * (N S.2.1 i) * (N S.2.2 i))))
|
||||
(by
|
||||
intro a S T R
|
||||
simp only
|
||||
rw [Finset.mul_sum]
|
||||
apply Fintype.sum_congr
|
||||
intro i
|
||||
repeat erw [map_smul]
|
||||
simp [HSMul.hSMul, SMul.smul]
|
||||
ring
|
||||
map_add₁' S T R L := by
|
||||
ring)
|
||||
(by
|
||||
intro S T R L
|
||||
simp only
|
||||
rw [← Finset.sum_add_distrib]
|
||||
apply Fintype.sum_congr
|
||||
intro i
|
||||
repeat erw [map_add]
|
||||
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSpecies_apply, Fin.isValue]
|
||||
ring
|
||||
swap₁' S T L := by
|
||||
ring)
|
||||
(by
|
||||
intro S T L
|
||||
simp only [SMνSpecies_numberCharges, toSpecies_apply, Fin.isValue]
|
||||
apply Fintype.sum_congr
|
||||
intro i
|
||||
ring
|
||||
swap₂' S T L := by
|
||||
ring)
|
||||
(by
|
||||
intro S T L
|
||||
simp only [SMνSpecies_numberCharges, toSpecies_apply, Fin.isValue]
|
||||
apply Fintype.sum_congr
|
||||
intro i
|
||||
ring
|
||||
ring)
|
||||
|
||||
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) +
|
||||
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
|
||||
erw [← cubeTriLin.toFun_eq_coe]
|
||||
rw [cubeTriLin]
|
||||
simp only
|
||||
simp only [TriLinearSymm.mk₃, BiLinearSymm.mk₂, SMνSpecies_numberCharges, toSpecies_apply,
|
||||
Fin.isValue, AddHom.toFun_eq_coe, AddHom.coe_mk, LinearMap.coe_mk]
|
||||
repeat erw [Finset.sum_add_distrib]
|
||||
repeat erw [← Finset.mul_sum]
|
||||
|
||||
|
|
|
@ -210,7 +210,7 @@ lemma familyUniversal_accQuad (S : (SMνCharges 1).charges) :
|
|||
ring
|
||||
|
||||
lemma familyUniversal_cubeTriLin (S : (SMνCharges 1).charges) (T R : (SMνCharges n).charges) :
|
||||
cubeTriLin (familyUniversal n S, T, R) = 6 * S (0 : Fin 6) * ∑ i, (Q T i * Q R i) +
|
||||
cubeTriLin (familyUniversal n S) T R = 6 * S (0 : Fin 6) * ∑ i, (Q T i * Q R i) +
|
||||
3 * S (1 : Fin 6) * ∑ i, (U T i * U R i) + 3 * S (2 : Fin 6) * ∑ i, (D T i * D R i)
|
||||
+ 2 * S (3 : Fin 6) * ∑ i, (L T i * L R i) +
|
||||
S (4 : Fin 6) * ∑ i, (E T i * E R i) + S (5 : Fin 6) * ∑ i, (N T i * N R i) := by
|
||||
|
@ -221,7 +221,7 @@ lemma familyUniversal_cubeTriLin (S : (SMνCharges 1).charges) (T R : (SMνCharg
|
|||
ring
|
||||
|
||||
lemma familyUniversal_cubeTriLin' (S T : (SMνCharges 1).charges) (R : (SMνCharges n).charges) :
|
||||
cubeTriLin (familyUniversal n S, familyUniversal n T, R) =
|
||||
cubeTriLin (familyUniversal n S) (familyUniversal n T) R =
|
||||
6 * S (0 : Fin 6) * T (0 : Fin 6) * ∑ i, Q R i +
|
||||
3 * S (1 : Fin 6) * T (1 : Fin 6) * ∑ i, U R i
|
||||
+ 3 * S (2 : Fin 6) * T (2 : Fin 6) * ∑ i, D R i +
|
||||
|
|
|
@ -31,7 +31,7 @@ def B₀ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₀_cubic (S T : (SM 3).charges) : cubeTriLin (B₀, S, T) =
|
||||
lemma B₀_cubic (S T : (SM 3).charges) : cubeTriLin B₀ S T =
|
||||
6 * (S (0 : Fin 18) * T (0 : Fin 18) - S (1 : Fin 18) * T (1 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₀, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring
|
||||
|
@ -44,7 +44,7 @@ def B₁ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₁_cubic (S T : (SM 3).charges) : cubeTriLin (B₁, S, T) =
|
||||
lemma B₁_cubic (S T : (SM 3).charges) : cubeTriLin B₁ S T =
|
||||
3 * (S (3 : Fin 18) * T (3 : Fin 18) - S (4 : Fin 18) * T (4 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₁, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring
|
||||
|
@ -57,7 +57,7 @@ def B₂ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₂_cubic (S T : (SM 3).charges) : cubeTriLin (B₂, S, T) =
|
||||
lemma B₂_cubic (S T : (SM 3).charges) : cubeTriLin B₂ S T =
|
||||
3 * (S (6 : Fin 18) * T (6 : Fin 18) - S (7 : Fin 18) * T (7 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₂, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring
|
||||
|
@ -70,7 +70,7 @@ def B₃ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₃_cubic (S T : (SM 3).charges) : cubeTriLin (B₃, S, T) =
|
||||
lemma B₃_cubic (S T : (SM 3).charges) : cubeTriLin B₃ S T =
|
||||
2 * (S (9 : Fin 18) * T (9 : Fin 18) - S (10 : Fin 18) * T (10 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₃, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring_nf
|
||||
|
@ -84,7 +84,7 @@ def B₄ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₄_cubic (S T : (SM 3).charges) : cubeTriLin (B₄, S, T) =
|
||||
lemma B₄_cubic (S T : (SM 3).charges) : cubeTriLin B₄ S T =
|
||||
(S (12 : Fin 18) * T (12 : Fin 18) - S (13 : Fin 18) * T (13 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₄, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring_nf
|
||||
|
@ -98,7 +98,7 @@ def B₅ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₅_cubic (S T : (SM 3).charges) : cubeTriLin (B₅, S, T) =
|
||||
lemma B₅_cubic (S T : (SM 3).charges) : cubeTriLin B₅ S T =
|
||||
(S (15 : Fin 18) * T (15 : Fin 18) - S (16 : Fin 18) * T (16 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₅, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring_nf
|
||||
|
@ -112,7 +112,7 @@ def B₆ : (SM 3).charges := toSpeciesEquiv.invFun ( fun s => fun i =>
|
|||
| _, _ => 0
|
||||
)
|
||||
|
||||
lemma B₆_cubic (S T : (SM 3).charges) : cubeTriLin (B₆, S, T) =
|
||||
lemma B₆_cubic (S T : (SM 3).charges) : cubeTriLin B₆ S T =
|
||||
3* (S (5 : Fin 18) * T (5 : Fin 18) - S (8 : Fin 18) * T (8 : Fin 18)) := by
|
||||
simp [Fin.sum_univ_three, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
ring_nf
|
||||
|
@ -130,8 +130,8 @@ def B : Fin 7 → (SM 3).charges := fun i =>
|
|||
| 6 => B₆
|
||||
|
||||
lemma B₀_Bi_cubic {i : Fin 7} (hi : 0 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 0, B i, S) = 0 := by
|
||||
change cubeTriLin (B₀, B i, S) = 0
|
||||
cubeTriLin (B 0) (B i) S = 0 := by
|
||||
change cubeTriLin B₀ (B i) S = 0
|
||||
rw [B₀_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
|
@ -139,55 +139,55 @@ lemma B₀_Bi_cubic {i : Fin 7} (hi : 0 ≠ i) (S : (SM 3).charges) :
|
|||
|
||||
|
||||
lemma B₁_Bi_cubic {i : Fin 7} (hi : 1 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 1, B i, S) = 0 := by
|
||||
change cubeTriLin (B₁, B i, S) = 0
|
||||
cubeTriLin (B 1) (B i) S = 0 := by
|
||||
change cubeTriLin B₁ (B i) S = 0
|
||||
rw [B₁_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₂_Bi_cubic {i : Fin 7} (hi : 2 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 2, B i, S) = 0 := by
|
||||
change cubeTriLin (B₂, B i, S) = 0
|
||||
cubeTriLin (B 2) (B i) S = 0 := by
|
||||
change cubeTriLin B₂ (B i) S = 0
|
||||
rw [B₂_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₃_Bi_cubic {i : Fin 7} (hi : 3 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 3, B i, S) = 0 := by
|
||||
change cubeTriLin (B₃, B i, S) = 0
|
||||
cubeTriLin (B 3) (B i) S = 0 := by
|
||||
change cubeTriLin (B₃) (B i) S = 0
|
||||
rw [B₃_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₄_Bi_cubic {i : Fin 7} (hi : 4 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 4, B i, S) = 0 := by
|
||||
change cubeTriLin (B₄, B i, S) = 0
|
||||
cubeTriLin (B 4) (B i) S = 0 := by
|
||||
change cubeTriLin (B₄) (B i) S = 0
|
||||
rw [B₄_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₅_Bi_cubic {i : Fin 7} (hi : 5 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 5, B i, S) = 0 := by
|
||||
change cubeTriLin (B₅, B i, S) = 0
|
||||
cubeTriLin (B 5) (B i) S = 0 := by
|
||||
change cubeTriLin (B₅) (B i) S = 0
|
||||
rw [B₅_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₆_Bi_cubic {i : Fin 7} (hi : 6 ≠ i) (S : (SM 3).charges) :
|
||||
cubeTriLin (B 6, B i, S) = 0 := by
|
||||
change cubeTriLin (B₆, B i, S) = 0
|
||||
cubeTriLin (B 6) (B i) S = 0 := by
|
||||
change cubeTriLin (B₆) (B i) S = 0
|
||||
rw [B₆_cubic]
|
||||
fin_cases i <;>
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
simp at hi <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma Bi_Bj_ne_cubic {i j : Fin 7} (h : i ≠ j) (S : (SM 3).charges) :
|
||||
cubeTriLin (B i, B j, S) = 0 := by
|
||||
cubeTriLin (B i) (B j) S = 0 := by
|
||||
fin_cases i
|
||||
exact B₀_Bi_cubic h S
|
||||
exact B₁_Bi_cubic h S
|
||||
|
@ -198,57 +198,57 @@ lemma Bi_Bj_ne_cubic {i j : Fin 7} (h : i ≠ j) (S : (SM 3).charges) :
|
|||
exact B₆_Bi_cubic h S
|
||||
|
||||
lemma B₀_B₀_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 0, B 0, B i) = 0 := by
|
||||
change cubeTriLin (B₀, B₀, B i) = 0
|
||||
cubeTriLin (B 0) (B 0) (B i) = 0 := by
|
||||
change cubeTriLin (B₀) (B₀) (B i) = 0
|
||||
rw [B₀_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₁_B₁_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 1, B 1, B i) = 0 := by
|
||||
change cubeTriLin (B₁, B₁, B i) = 0
|
||||
cubeTriLin (B 1) (B 1) (B i) = 0 := by
|
||||
change cubeTriLin (B₁) (B₁) (B i) = 0
|
||||
rw [B₁_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₂_B₂_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 2, B 2, B i) = 0 := by
|
||||
change cubeTriLin (B₂, B₂, B i) = 0
|
||||
cubeTriLin (B 2) (B 2) (B i) = 0 := by
|
||||
change cubeTriLin (B₂) (B₂) (B i) = 0
|
||||
rw [B₂_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₃_B₃_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 3, B 3, B i) = 0 := by
|
||||
change cubeTriLin (B₃, B₃, B i) = 0
|
||||
cubeTriLin (B 3) (B 3) (B i) = 0 := by
|
||||
change cubeTriLin (B₃) (B₃) (B i) = 0
|
||||
rw [B₃_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₄_B₄_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 4, B 4, B i) = 0 := by
|
||||
change cubeTriLin (B₄, B₄, B i) = 0
|
||||
cubeTriLin (B 4) (B 4) (B i) = 0 := by
|
||||
change cubeTriLin (B₄) (B₄) (B i) = 0
|
||||
rw [B₄_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₅_B₅_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 5, B 5, B i) = 0 := by
|
||||
change cubeTriLin (B₅, B₅, B i) = 0
|
||||
cubeTriLin (B 5) (B 5) (B i) = 0 := by
|
||||
change cubeTriLin (B₅) (B₅) (B i) = 0
|
||||
rw [B₅_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
lemma B₆_B₆_Bi_cubic {i : Fin 7} :
|
||||
cubeTriLin (B 6, B 6, B i) = 0 := by
|
||||
change cubeTriLin (B₆, B₆, B i) = 0
|
||||
cubeTriLin (B 6) (B 6) (B i) = 0 := by
|
||||
change cubeTriLin (B₆) (B₆) (B i) = 0
|
||||
rw [B₆_cubic]
|
||||
fin_cases i <;>
|
||||
simp [B₀, B₁, B₂, B₃, B₄, B₅, B₆, Fin.divNat, Fin.modNat, finProdFinEquiv]
|
||||
|
||||
|
||||
lemma Bi_Bi_Bj_cubic (i j : Fin 7) :
|
||||
cubeTriLin (B i, B i, B j) = 0 := by
|
||||
cubeTriLin (B i) (B i) (B j) = 0 := by
|
||||
fin_cases i
|
||||
exact B₀_B₀_Bi_cubic
|
||||
exact B₁_B₁_Bi_cubic
|
||||
|
@ -259,7 +259,7 @@ lemma Bi_Bi_Bj_cubic (i j : Fin 7) :
|
|||
exact B₆_B₆_Bi_cubic
|
||||
|
||||
lemma Bi_Bj_Bk_cubic (i j k : Fin 7) :
|
||||
cubeTriLin (B i, B j, B k) = 0 := by
|
||||
cubeTriLin (B i) (B j) (B k) = 0 := by
|
||||
by_cases hij : i ≠ j
|
||||
exact Bi_Bj_ne_cubic hij (B k)
|
||||
simp at hij
|
||||
|
@ -267,7 +267,7 @@ lemma Bi_Bj_Bk_cubic (i j k : Fin 7) :
|
|||
exact Bi_Bi_Bj_cubic j k
|
||||
|
||||
theorem B_in_accCube (f : Fin 7 → ℚ) : accCube (∑ i, f i • B i) = 0 := by
|
||||
change cubeTriLin _ = 0
|
||||
change cubeTriLin _ _ _ = 0
|
||||
rw [cubeTriLin.map_sum₁₂₃]
|
||||
apply Fintype.sum_eq_zero
|
||||
intro i
|
||||
|
|
|
@ -91,7 +91,7 @@ lemma addQuad_zero (S : (PlusU1 n).QuadSols) (a : ℚ): addQuad S a 0 = a • S
|
|||
rfl
|
||||
|
||||
lemma on_cubeTriLin (S : (PlusU1 n).charges) :
|
||||
cubeTriLin ((BL n).val, (BL n).val, S) = 9 * accGrav S - 24 * accSU3 S := by
|
||||
cubeTriLin (BL n).val (BL n).val S = 9 * accGrav S - 24 * accSU3 S := by
|
||||
erw [familyUniversal_cubeTriLin']
|
||||
rw [accGrav_decomp, accSU3_decomp]
|
||||
simp only [Fin.isValue, BL₁_val, mul_one, SMνSpecies_numberCharges, toSpecies_apply, mul_neg,
|
||||
|
@ -99,18 +99,18 @@ lemma on_cubeTriLin (S : (PlusU1 n).charges) :
|
|||
ring
|
||||
|
||||
lemma on_cubeTriLin_AFL (S : (PlusU1 n).LinSols) :
|
||||
cubeTriLin ((BL n).val, (BL n).val, S.val) = 0 := by
|
||||
cubeTriLin (BL n).val (BL n).val S.val = 0 := by
|
||||
rw [on_cubeTriLin]
|
||||
rw [gravSol S, SU3Sol S]
|
||||
simp
|
||||
|
||||
lemma add_AFL_cube (S : (PlusU1 n).LinSols) (a b : ℚ) :
|
||||
accCube (a • S.val + b • (BL n).val) =
|
||||
a ^ 2 * (a * accCube S.val + 3 * b * cubeTriLin (S.val, S.val, (BL n).val)) := by
|
||||
a ^ 2 * (a * accCube S.val + 3 * b * cubeTriLin S.val S.val (BL n).val) := by
|
||||
erw [TriLinearSymm.toCubic_add, cubeSol (b • (BL n)), accCube.map_smul]
|
||||
repeat rw [cubeTriLin.map_smul₁, cubeTriLin.map_smul₂, cubeTriLin.map_smul₃]
|
||||
rw [on_cubeTriLin_AFL]
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, cubeTriLin_toFun, Fin.isValue,
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, Fin.isValue,
|
||||
add_zero, BL_val, mul_zero]
|
||||
ring
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ lemma addQuad_zero (S : (PlusU1 n).QuadSols) (a : ℚ): addQuad S a 0 = a • S
|
|||
rfl
|
||||
|
||||
lemma on_cubeTriLin (S : (PlusU1 n).charges) :
|
||||
cubeTriLin ((Y n).val, (Y n).val, S) = 6 * accYY S := by
|
||||
cubeTriLin (Y n).val (Y n).val S = 6 * accYY S := by
|
||||
erw [familyUniversal_cubeTriLin']
|
||||
rw [accYY_decomp]
|
||||
simp only [Fin.isValue, Y₁_val, mul_one, SMνSpecies_numberCharges, toSpecies_apply, mul_neg,
|
||||
|
@ -98,13 +98,13 @@ lemma on_cubeTriLin (S : (PlusU1 n).charges) :
|
|||
ring
|
||||
|
||||
lemma on_cubeTriLin_AFL (S : (PlusU1 n).LinSols) :
|
||||
cubeTriLin ((Y n).val, (Y n).val, S.val) = 0 := by
|
||||
cubeTriLin (Y n).val (Y n).val S.val = 0 := by
|
||||
rw [on_cubeTriLin]
|
||||
rw [YYsol S]
|
||||
simp
|
||||
|
||||
lemma on_cubeTriLin' (S : (PlusU1 n).charges) :
|
||||
cubeTriLin ((Y n).val, S, S) = 6 * accQuad S := by
|
||||
cubeTriLin (Y n).val S S = 6 * accQuad S := by
|
||||
erw [familyUniversal_cubeTriLin]
|
||||
rw [accQuad_decomp]
|
||||
simp only [Fin.isValue, Y₁_val, mul_one, SMνSpecies_numberCharges, toSpecies_apply, mul_neg,
|
||||
|
@ -112,18 +112,18 @@ lemma on_cubeTriLin' (S : (PlusU1 n).charges) :
|
|||
ring_nf
|
||||
|
||||
lemma on_cubeTriLin'_ALQ (S : (PlusU1 n).QuadSols) :
|
||||
cubeTriLin ((Y n).val, S.val, S.val) = 0 := by
|
||||
cubeTriLin (Y n).val S.val S.val = 0 := by
|
||||
rw [on_cubeTriLin']
|
||||
rw [quadSol S]
|
||||
simp
|
||||
|
||||
lemma add_AFL_cube (S : (PlusU1 n).LinSols) (a b : ℚ) :
|
||||
accCube (a • S.val + b • (Y n).val) =
|
||||
a ^ 2 * (a * accCube S.val + 3 * b * cubeTriLin (S.val, S.val, (Y n).val)) := by
|
||||
a ^ 2 * (a * accCube S.val + 3 * b * cubeTriLin S.val S.val (Y n).val) := by
|
||||
erw [TriLinearSymm.toCubic_add, cubeSol (b • (Y n)), accCube.map_smul]
|
||||
repeat rw [cubeTriLin.map_smul₁, cubeTriLin.map_smul₂, cubeTriLin.map_smul₃]
|
||||
rw [on_cubeTriLin_AFL]
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, cubeTriLin_toFun, Fin.isValue,
|
||||
simp only [HomogeneousCubic, accCube, TriLinearSymm.toCubic_apply, Fin.isValue,
|
||||
add_zero, Y_val, mul_zero]
|
||||
ring
|
||||
|
||||
|
|
|
@ -204,8 +204,8 @@ lemma isSolution_f9 (f : Fin 11 → ℚ) (hS : (PlusU1 3).isSolution (∑ i, f i
|
|||
cubeTriLin.map_smul₃, cubeTriLin.map_smul₃] at hc
|
||||
rw [show accCube B₉ = 9 by rfl] at hc
|
||||
rw [show accCube B₁₀ = 1 by rfl] at hc
|
||||
rw [show cubeTriLin (B₉, B₉, B₁₀) = 0 by rfl] at hc
|
||||
rw [show cubeTriLin (B₁₀, B₁₀, B₉) = 0 by rfl] at hc
|
||||
rw [show cubeTriLin B₉ B₉ B₁₀ = 0 by rfl] at hc
|
||||
rw [show cubeTriLin B₁₀ B₁₀ B₉ = 0 by rfl] at hc
|
||||
simp at hc
|
||||
have h1 : f 9 ^ 3 * 9 + (-(3 * f 9)) ^ 3 = - 18 * f 9 ^ 3 := by
|
||||
ring
|
||||
|
|
|
@ -29,7 +29,7 @@ open BigOperators
|
|||
variable {n : ℕ}
|
||||
/-- A helper function for what follows. -/
|
||||
@[simp]
|
||||
def α₁ (S : (PlusU1 n).QuadSols) : ℚ := - 3 * cubeTriLin (S.val, S.val, (BL n).val)
|
||||
def α₁ (S : (PlusU1 n).QuadSols) : ℚ := - 3 * cubeTriLin S.val S.val (BL n).val
|
||||
|
||||
/-- A helper function for what follows. -/
|
||||
@[simp]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue