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.QED.AnomalyCancellation.Even.LineInCubicParameterization in even case
Given maps g : Fin n.succ → ℚ, f : Fin n → ℚ and a : ℚ we form a solution to the anomaly
equations. We show that every solution can be got in this way, up to permutation, unless it, up to
permutation, lives in the unshifted plane.
The main reference is:
https://arxiv.org/pdf/1912.04804.pdf
@[expose] public section
Given coefficients g of a point in the unshifted plane and f of a point in the
shifted plane, and a rational, we get a
rational a ∈ ℚ, we get a
point in (PureU1 (2 * n.succ)).AnomalyFreeLinear, which we will later show extends to an anomaly
free point.
def parameterizationAsLinear (g : Fin n.succ → ℚ) (f : Fin n → ℚ) (a : ℚ) :
(PureU1 (2 * n.succ)).LinSols :=
a •
((accCubeTriLinSymm (Shifted.planeCharges f) (Shifted.planeCharges f)
(Unshifted.planeCharges g)) • Unshifted.planeLinSols g +
(- accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f)) • Shifted.planeLinSols f)All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma parameterizationCharge_cube (g : Fin n.succ → ℚ) (f : Fin n → ℚ) (a : ℚ) :
accCube (2* n.succ) (parameterizationAsLinear g f a).val = 0 := by n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ (accCube (2 * n.succ)) (parameterizationAsLinear g f a).val = 0
change accCubeTriLinSymm.toCubic _ = 0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ accCubeTriLinSymm.toCubic (parameterizationAsLinear g f a).val = 0
rw [parameterizationAsLinear_val, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ accCubeTriLinSymm.toCubic
(a •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 HomogeneousCubic.map_smul, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
accCubeTriLinSymm.toCubic
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0
TriLinearSymm.toCubic_add, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(accCubeTriLinSymm.toCubic
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g) +
accCubeTriLinSymm.toCubic
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 HomogeneousCubic.map_smul, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
accCubeTriLinSymm.toCubic
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 HomogeneousCubic.map_smul n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0] n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 *
accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0
erw [Unshifted.planeCharges_accCube, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 Shifted.planeCharges_accCube n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0] n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
((accCubeTriLinSymm
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0
rw [accCubeTriLinSymm.map_smul₁, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Unshifted.planeCharges g))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f)) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0 accCubeTriLinSymm.map_smul₂, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0
accCubeTriLinSymm.map_smul₃, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
((accCubeTriLinSymm
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0 accCubeTriLinSymm.map_smul₁, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Shifted.planeCharges f))
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g))) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0 accCubeTriLinSymm.map_smul₂, n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f))
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g)))) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0
accCubeTriLinSymm.map_smul₃ n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0 n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0] n:ℕg:Fin n.succ → ℚf:Fin n → ℚa:ℚ⊢ a ^ 3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ^ 3 * 0 +
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)) ^ 3 *
0 +
3 *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g))
(Shifted.planeCharges f)))) +
3 *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) *
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))))) =
0
ring All goals completed! 🐙
The construction of a Sol from a Fin n.succ → ℚ, a Fin n → ℚ and a ℚ.
def parameterization (g : Fin n.succ → ℚ) (f : Fin n → ℚ) (a : ℚ) :
(PureU1 (2 * n.succ)).Sols :=
⟨⟨parameterizationAsLinear g f a, fun i => Fin.elim0 i⟩,
parameterizationCharge_cube g f a⟩
lemma anomalyFree_param {S : (PureU1 (2 * n.succ)).Sols}
(g : Fin n.succ → ℚ) (f : Fin n → ℚ)
(hS : S.val = Unshifted.planeCharges g + Shifted.planeCharges f) :
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) =
- accCubeTriLinSymm (Shifted.planeCharges f) (Shifted.planeCharges f)
(Unshifted.planeCharges g) := by n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)
have hC := S.cubicSol n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:(PureU1 (2 * n.succ)).cubicACC S.val = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)
rw [hS n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:(PureU1 (2 * n.succ)).cubicACC (Unshifted.planeCharges g + Shifted.planeCharges f) = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:(PureU1 (2 * n.succ)).cubicACC (Unshifted.planeCharges g + Shifted.planeCharges f) = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)] at hC n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:(PureU1 (2 * n.succ)).cubicACC (Unshifted.planeCharges g + Shifted.planeCharges f) = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)
change (accCube (2 * n.succ)) (Unshifted.planeCharges g + Shifted.planeCharges f) = 0 at hC n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:(accCube (2 * n.succ)) (Unshifted.planeCharges g + Shifted.planeCharges f) = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)
erw [TriLinearSymm.toCubic_add, n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) + accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) =
0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) Unshifted.planeCharges_accCube, n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:0 + accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) =
0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)
Shifted.planeCharges_accCube n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:0 + 0 + 3 * ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) =
0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)] n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:0 + 0 + 3 * ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) =
0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) =
-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) at hC
linear_combination hC / 3 All goals completed! 🐙
A proposition on a solution which is true if
accCubeTriLinSymm (Unshifted.planeCharges g, Unshifted.planeCharges g, Shifted.planeCharges f) ≠ 0.
In this case our parameterization above will be able to recover this point.
def GenericCase (S : (PureU1 (2 * n.succ)).Sols) : Prop :=
∀ (g : Fin n.succ → ℚ) (f : Fin n → ℚ)
(_ : S.val = Unshifted.planeCharges g + Shifted.planeCharges f),
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) ≠ 0
lemma genericCase_exists (S : (PureU1 (2 * n.succ)).Sols)
(hs : ∃ (g : Fin n.succ → ℚ) (f : Fin n → ℚ),
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) ≠ 0) : GenericCase S := by n:ℕS:(PureU1 (2 * n.succ)).Solshs:∃ g f,
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0⊢ GenericCase S
intro g f hS hC n:ℕS:(PureU1 (2 * n.succ)).Solshs:∃ g f,
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0g:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ False
obtain ⟨g', f', hS', hC'⟩ := hs n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':S.val = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False
rw [hS n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False] at hS' n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False
erw [Pa_eq n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False] n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fhC:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False at hS'
rw [hS'.1, n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚhC:((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f) = 0f':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhC:((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0hS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False hS'.2 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhC:((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0hS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhC:((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0hS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False] at hC n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhC:((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0hS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') ≠ 0⊢ False
exact hC' hC All goals completed! 🐙
A proposition on a solution which is true if
accCubeTriLinSymm (Unshifted.planeCharges g, Unshifted.planeCharges g, Shifted.planeCharges f) = 0.
def SpecialCase (S : (PureU1 (2 * n.succ)).Sols) : Prop :=
∀ (g : Fin n.succ → ℚ) (f : Fin n → ℚ)
(_ : S.val = Unshifted.planeCharges g + Shifted.planeCharges f),
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) = 0
lemma specialCase_exists (S : (PureU1 (2 * n.succ)).Sols)
(hs : ∃ (g : Fin n.succ → ℚ) (f : Fin n → ℚ),
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) = 0) : SpecialCase S := by n:ℕS:(PureU1 (2 * n.succ)).Solshs:∃ g f,
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ SpecialCase S
intro g f hS n:ℕS:(PureU1 (2 * n.succ)).Solshs:∃ g f,
S.val = Unshifted.planeCharges g + Shifted.planeCharges f ∧
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0g:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0
obtain ⟨g', f', hS', hC'⟩ := hs n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':S.val = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0
rw [hS n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0] at hS' n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':Unshifted.planeCharges g + Shifted.planeCharges f = Unshifted.planeCharges g' + Shifted.planeCharges f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0
erw [Pa_eq n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0] n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0 at hS'
rw [hS'.1, n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f) = 0 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0 hS'.2 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0] n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fg':Fin n.succ → ℚf':Fin n → ℚhS':g = g' ∧ f = f'hC':((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0⊢ ((accCubeTriLinSymm (Unshifted.planeCharges g')) (Unshifted.planeCharges g')) (Shifted.planeCharges f') = 0
exact hC' All goals completed! 🐙
lemma generic_or_special (S : (PureU1 (2 * n.succ)).Sols) :
GenericCase S ∨ SpecialCase S := by n:ℕS:(PureU1 (2 * n.succ)).Sols⊢ GenericCase S ∨ SpecialCase S
obtain ⟨g, f, h⟩ := span_basis S.1.1 n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ GenericCase S ∨ SpecialCase S
have h1 : accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) ≠ 0 ∨
accCubeTriLinSymm (Unshifted.planeCharges g) (Unshifted.planeCharges g)
(Shifted.planeCharges f) = 0 := by
exact ne_or_eq _ _ n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0 ∨
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ GenericCase S ∨ SpecialCase S n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0 ∨
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ GenericCase S ∨ SpecialCase S
rcases h1 with h1 | h1 inl n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0⊢ GenericCase S ∨ SpecialCase Sinr n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ GenericCase S ∨ SpecialCase S
· inl n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0⊢ GenericCase S ∨ SpecialCase S exact Or.inl (genericCase_exists S ⟨g, f, h, h1⟩) All goals completed! 🐙
· inr n:ℕS:(PureU1 (2 * n.succ)).Solsg:Fin n.succ → ℚf:Fin n → ℚh:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh1:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ GenericCase S ∨ SpecialCase S exact Or.inr (specialCase_exists S ⟨g, f, h, h1⟩) All goals completed! 🐙
theorem generic_case {S : (PureU1 (2 * n.succ)).Sols} (h : GenericCase S) :
∃ g f a, S = parameterization g f a := by n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase S⊢ ∃ g f a, S = parameterization g f a
obtain ⟨g, f, hS⟩ := span_basis S.1.1 n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ∃ g f a, S = parameterization g f a
use g, f,
(accCubeTriLinSymm (Shifted.planeCharges f) (Shifted.planeCharges f)
(Unshifted.planeCharges g))⁻¹ h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S =
parameterization g f
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹
rw [parameterization h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S =
{
toLinSols :=
parameterizationAsLinear g f
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹,
quadSol := ⋯, cubicSol := ⋯ } h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S =
{
toLinSols :=
parameterizationAsLinear g f
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹,
quadSol := ⋯, cubicSol := ⋯ }] h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S =
{
toLinSols :=
parameterizationAsLinear g f
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹,
quadSol := ⋯, cubicSol := ⋯ }
apply ACCSystem.Sols.ext h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
{
toLinSols :=
parameterizationAsLinear g f
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹,
quadSol := ⋯, cubicSol := ⋯ }.val
rw [parameterizationAsLinear_val h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f) h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f)]h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
-((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) •
Shifted.planeCharges f)
rw [anomalyFree_param _ _ hS h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
- -((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Shifted.planeCharges f) h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
- -((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Shifted.planeCharges f)]h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
- -((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Shifted.planeCharges f)
rw [neg_neg, h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Unshifted.planeCharges g +
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
Shifted.planeCharges f) h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 ← smul_add, h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
(((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ •
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) •
(Unshifted.planeCharges g + Shifted.planeCharges f)h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 smul_smul, h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val =
((((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g))⁻¹ *
((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)) •
(Unshifted.planeCharges g + Shifted.planeCharges f)h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 inv_mul_cancel₀, h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = 1 • (Unshifted.planeCharges g + Shifted.planeCharges f)h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 one_smul h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0]h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges fh n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0
· h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ S.val = Unshifted.planeCharges g + Shifted.planeCharges f exact hS All goals completed! 🐙
· h n:ℕS:(PureU1 (2 * n.succ)).Solsh:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges f⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 have h := h g f hS h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) ≠ 0⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0
rw [anomalyFree_param _ _ hS h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0 h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0] at hh n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0
simp only [Nat.succ_eq_add_one, accCubeTriLinSymm_toFun_apply_apply, ne_eq, neg_eq_zero] at h h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:GenericCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Unshifted.planeCharges g + Shifted.planeCharges fh:¬∑ i, Shifted.planeCharges f i * Shifted.planeCharges f i * Unshifted.planeCharges g i = 0⊢ ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) ≠ 0
exact h All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma special_case_lineInCubic {S : (PureU1 (2 * n.succ)).Sols}
(h : SpecialCase S) : LineInCubic S.1.1 := by n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase S⊢ LineInCubic S.toLinSols
intro g f hS a b n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ (accCube (2 * n.succ)) (a • Unshifted.planeCharges g + b • Shifted.planeCharges f) = 0
erw [TriLinearSymm.toCubic_add n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ accCubeTriLinSymm.toCubic (a • Unshifted.planeCharges g) + accCubeTriLinSymm.toCubic (b • Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0] n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ accCubeTriLinSymm.toCubic (a • Unshifted.planeCharges g) + accCubeTriLinSymm.toCubic (b • Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0
rw [HomogeneousCubic.map_smul, n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) + accCubeTriLinSymm.toCubic (b • Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
b ^ 3 * accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 HomogeneousCubic.map_smul n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
b ^ 3 * accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
b ^ 3 * accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0] n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * accCubeTriLinSymm.toCubic (Unshifted.planeCharges g) +
b ^ 3 * accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0
erw [Unshifted.planeCharges_accCube, n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * 0 + b ^ 3 * accCubeTriLinSymm.toCubic (Shifted.planeCharges f) +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 Shifted.planeCharges_accCube n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0] n:ℕS:(PureU1 (2 * n.succ)).Solsh:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚ⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0
have h := h g f hS n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
((accCubeTriLinSymm (a • Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0
rw [accCubeTriLinSymm.map_smul₁, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (a • Unshifted.planeCharges g))
(b • Shifted.planeCharges f)) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 accCubeTriLinSymm.map_smul₂, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
(a *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (b • Shifted.planeCharges f))) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
accCubeTriLinSymm.map_smul₃, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
(a *
(b *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)))) +
3 * ((accCubeTriLinSymm (b • Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 accCubeTriLinSymm.map_smul₁, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
(a *
(b *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)))) +
3 *
(b * ((accCubeTriLinSymm (Shifted.planeCharges f)) (b • Shifted.planeCharges f)) (a • Unshifted.planeCharges g)) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 accCubeTriLinSymm.map_smul₂, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
(a *
(b *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)))) +
3 *
(b *
(b * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (a • Unshifted.planeCharges g))) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
accCubeTriLinSymm.map_smul₃, n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 +
3 *
(a *
(a *
(b *
((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f)))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0] n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Unshifted.planeCharges g)) (Unshifted.planeCharges g)) (Shifted.planeCharges f) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
rw [anomalyFree_param _ _ hS n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0 n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0] at h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:-((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
simp only [Nat.succ_eq_add_one, accCubeTriLinSymm_toFun_apply_apply, neg_eq_zero] at h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:∑ i, Shifted.planeCharges f i * Shifted.planeCharges f i * Unshifted.planeCharges g i = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
change accCubeTriLinSymm (Shifted.planeCharges f) (Shifted.planeCharges f)
(Unshifted.planeCharges g) = 0 at h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) +
3 *
(b *
(b *
(a * ((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g)))) =
0
erw [h n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) + 3 * (b * (b * (a * 0))) = 0] n:ℕS:(PureU1 (2 * n.succ)).Solsh✝:SpecialCase Sg:Fin n.succ → ℚf:Fin n → ℚhS:S.val = Pa g fa:ℚb:ℚh:((accCubeTriLinSymm (Shifted.planeCharges f)) (Shifted.planeCharges f)) (Unshifted.planeCharges g) = 0⊢ a ^ 3 * 0 + b ^ 3 * 0 + 3 * (a * (a * (b * 0))) + 3 * (b * (b * (a * 0))) = 0
simp All goals completed! 🐙lemma special_case_lineInCubic_perm {S : (PureU1 (2 * n.succ)).Sols}
(h : ∀ (M : (FamilyPermutations (2 * n.succ)).group),
SpecialCase ((FamilyPermutations (2 * n.succ)).solAction.toFun _ _ S M)) :
LineInCubicPerm S.1.1 :=
fun M => special_case_lineInCubic (h M)theorem special_case {S : (PureU1 (2 * n.succ.succ)).Sols}
(h : ∀ (M : (FamilyPermutations (2 * n.succ.succ)).group),
SpecialCase ((FamilyPermutations (2 * n.succ.succ)).solAction.toFun _ _ S M)) :
∃ (M : (FamilyPermutations (2 * n.succ.succ)).group),
((FamilyPermutations (2 * n.succ.succ)).solAction.toFun _ _ S M).1.1
∈ Submodule.span ℚ (Set.range Unshifted.basis) :=
lineInCubicPerm_in_plane S (special_case_lineInCubic_perm h)