refactor: Last batch of multi-goal proofs

This commit is contained in:
jstoobysmith 2024-08-21 06:40:58 -04:00
parent b9479c904d
commit c0499483a8
43 changed files with 910 additions and 955 deletions

View file

@ -108,19 +108,17 @@ def Hu : MSSMCharges.Charges →ₗ[] where
lemma charges_eq_toSpecies_eq (S T : MSSMCharges.Charges) :
S = T ↔ (∀ i, toSMSpecies i S = toSMSpecies i T) ∧ Hd S = Hd T ∧ Hu S = Hu T := by
apply Iff.intro
intro h
rw [h]
simp only [forall_const, Hd_apply, Fin.reduceFinMk, Fin.isValue, Hu_apply, and_self]
intro h
apply toSpecies.injective
apply Prod.ext
funext i
exact h.1 i
funext i
match i with
| 0 => exact h.2.1
| 1 => exact h.2.2
refine Iff.intro (fun h => ?_) (fun h => ?_)
· rw [h]
simp only [forall_const, Hd_apply, Fin.reduceFinMk, Fin.isValue, Hu_apply, and_self]
· apply toSpecies.injective
apply Prod.ext
· funext i
exact h.1 i
· funext i
match i with
| 0 => exact h.2.1
| 1 => exact h.2.2
lemma Hd_toSpecies_inv (f : (Fin 6 → Fin 3 → ) × (Fin 2 → )) :
Hd (toSpecies.symm f) = f.2 0 := by
@ -278,14 +276,14 @@ def quadBiLin : BiLinearSymm MSSMCharges.Charges := BiLinearSymm.mk₂ (
simp only
rw [mul_add]
congr 1
rw [Finset.mul_sum]
apply Fintype.sum_congr
intro i
repeat erw [map_smul]
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue, neg_mul, one_mul]
ring
simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, neg_mul, Hu_apply]
ring)
· rw [Finset.mul_sum]
apply Fintype.sum_congr
intro i
repeat erw [map_smul]
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue, neg_mul, one_mul]
ring
· simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, neg_mul, Hu_apply]
ring)
(by
intro S T R
simp only
@ -294,24 +292,24 @@ def quadBiLin : BiLinearSymm MSSMCharges.Charges := BiLinearSymm.mk₂ (
rw [add_assoc]
rw [← add_assoc _ _ (-Hd S * Hd R + Hu S * Hu R + (-Hd T * Hd R + Hu T * Hu R))]
congr 1
rw [← Finset.sum_add_distrib]
apply Fintype.sum_congr
intro i
repeat erw [map_add]
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue, neg_mul,
one_mul]
ring
rw [Hd.map_add, Hu.map_add]
ring)
· rw [← Finset.sum_add_distrib]
apply Fintype.sum_congr
intro i
repeat erw [map_add]
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue, neg_mul,
one_mul]
ring
· rw [Hd.map_add, Hu.map_add]
ring)
(by
intro S L
simp only [MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, neg_mul, one_mul,
Hd_apply, Fin.reduceFinMk, Hu_apply]
congr 1
rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
ring)
· rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
· ring)
/-- The quadratic ACC. -/
@[simp]
@ -351,14 +349,14 @@ lemma cubeTriLinToFun_map_smul₁ (a : ) (S T R : MSSMCharges.Charges) :
simp only [cubeTriLinToFun]
rw [mul_add]
congr 1
rw [Finset.mul_sum]
apply Fintype.sum_congr
intro i
repeat erw [map_smul]
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue]
ring
simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, Hu_apply]
ring
· rw [Finset.mul_sum]
apply Fintype.sum_congr
intro i
repeat erw [map_smul]
simp only [HSMul.hSMul, SMul.smul, toSMSpecies_apply, Fin.isValue]
ring
· simp only [map_smul, Hd_apply, Fin.reduceFinMk, Fin.isValue, smul_eq_mul, Hu_apply]
ring
lemma cubeTriLinToFun_map_add₁ (S T R L : MSSMCharges.Charges) :
cubeTriLinToFun (S + T, R, L) = cubeTriLinToFun (S, R, L) + cubeTriLinToFun (T, R, L) := by
@ -369,34 +367,34 @@ lemma cubeTriLinToFun_map_add₁ (S T R L : MSSMCharges.Charges) :
rw [← add_assoc _ _ (2 * Hd S * Hd R * Hd L + 2 * Hu S * Hu R * Hu L +
(2 * Hd T * Hd R * Hd L + 2 * Hu T * Hu R * Hu L))]
congr 1
rw [← Finset.sum_add_distrib]
apply Fintype.sum_congr
intro i
repeat erw [map_add]
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue]
ring
rw [Hd.map_add, Hu.map_add]
ring
· rw [← Finset.sum_add_distrib]
apply Fintype.sum_congr
intro i
repeat erw [map_add]
simp only [ACCSystemCharges.chargesAddCommMonoid_add, toSMSpecies_apply, Fin.isValue]
ring
· rw [Hd.map_add, Hu.map_add]
ring
lemma cubeTriLinToFun_swap1 (S T R : MSSMCharges.Charges) :
cubeTriLinToFun (S, T, R) = cubeTriLinToFun (T, S, R) := by
simp only [cubeTriLinToFun, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, Hd_apply,
Fin.reduceFinMk, Hu_apply]
congr 1
rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
ring
· rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
· ring
lemma cubeTriLinToFun_swap2 (S T R : MSSMCharges.Charges) :
cubeTriLinToFun (S, T, R) = cubeTriLinToFun (S, R, T) := by
simp only [cubeTriLinToFun, MSSMSpecies_numberCharges, toSMSpecies_apply, Fin.isValue, Hd_apply,
Fin.reduceFinMk, Hu_apply]
congr 1
rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
ring
· rw [Fin.sum_univ_three, Fin.sum_univ_three]
simp only [Fin.isValue]
ring
· ring
/-- The symmetric trilinear form used to define the cubic ACC. -/
@[simps!]