Imports
/-
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Particles.SuperSymmetry.MSSMNu.AnomalyCancellation.LineY3B3
The type of solutions perpendicular to Y₃ and B₃
We define the type of solutions which are orthogonal to Y₃ and B₃ and prove some basic lemmas
about them.
References
The main reference for the material in this file is:
https://arxiv.org/pdf/2107.07926.pdf
@[expose] public sectionThe type of linear solutions orthogonal to $Y_3$ and $B_3$.
structure AnomalyFreePerp extends MSSMACC.LinSols where
perpY₃ : dot Y₃.val val = 0
perpB₃ : dot B₃.val val = 0
The projection of an object in MSSMACC.AnomalyFreeLinear onto the subspace
orthogonal to Y₃ andB₃.
set_option backward.isDefEq.respectTransparency false inT:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 108 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 108 +
108 * (dot B₃.val) T.val =
0
ring All goals completed! 🐙⟩lemma proj_val (T : MSSMACC.LinSols) :
(proj T).val = (dot B₃.val T.val - dot Y₃.val T.val) • Y₃.val +
(dot Y₃.val T.val - 2 * dot B₃.val T.val) • B₃.val +
dot Y₃.val B₃.val • T.val := by T:MSSMACC.LinSols⊢ (proj T).val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val
rfl All goals completed! 🐙
lemma Y₃_plus_B₃_plus_proj (T : MSSMACC.LinSols) (a b c : ℚ) :
a • Y₃.val + b • B₃.val + c • (proj T).val =
(a + c * (dot B₃.val T.val - dot Y₃.val T.val)) • Y₃.val
+ (b + c * (dot Y₃.val T.val - 2 * dot B₃.val T.val)) • B₃.val
+ (dot Y₃.val B₃.val * c) • T.val:= by T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val + c • (proj T).val =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val
rw [proj_val T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
c •
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
c •
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val] T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
c •
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val
rw [DistribMulAction.smul_add, T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
(c • (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
c • (dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
(c • ((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
c • ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
c • (dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val DistribMulAction.smul_add T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
(c • ((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
c • ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
c • (dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
(c • ((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
c • ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
c • (dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val] T:MSSMACC.LinSolsa:ℚb:ℚc:ℚ⊢ a • Y₃.val + b • B₃.val +
(c • ((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
c • ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
c • (dot Y₃.val) B₃.val • T.val) =
(a + c * ((dot B₃.val) T.val - (dot Y₃.val) T.val)) • Y₃.val +
(b + c * ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)) • B₃.val +
((dot Y₃.val) B₃.val * c) • T.val
module All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma quad_Y₃_proj (T : MSSMACC.LinSols) :
quadBiLin Y₃.val (proj T).val = dot Y₃.val B₃.val * quadBiLin Y₃.val T.val := by T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
rw [proj_val T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val] T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
rw [quadBiLin.map_add₂, T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin Y₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val quadBiLin.map_add₂ T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin Y₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin Y₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val] T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin Y₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
rw [quadBiLin.map_smul₂, T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
(quadBiLin Y₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val quadBiLin.map_smul₂, T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(quadBiLin Y₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val quadBiLin.map_smul₂ T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin Y₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
rw [show quadBiLin Y₃.val B₃.val = 0 by T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val with_unfolding_all rfl All goals completed! 🐙 T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
rw [show quadBiLin Y₃.val Y₃.val = 0 by T:MSSMACC.LinSols⊢ (quadBiLin Y₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val with_unfolding_all rfl All goals completed! 🐙 T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma quad_B₃_proj (T : MSSMACC.LinSols) :
quadBiLin B₃.val (proj T).val = dot Y₃.val B₃.val * quadBiLin B₃.val T.val := by T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
rw [proj_val T:MSSMACC.LinSols⊢ (quadBiLin B₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin B₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val] T:MSSMACC.LinSols⊢ (quadBiLin B₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
rw [quadBiLin.map_add₂, T:MSSMACC.LinSols⊢ (quadBiLin B₃.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin B₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val quadBiLin.map_add₂ T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin B₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin B₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val] T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin B₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
rw [quadBiLin.map_smul₂, T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
(quadBiLin B₃.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val quadBiLin.map_smul₂, T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(quadBiLin B₃.val) ((dot Y₃.val) B₃.val • T.val) =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val quadBiLin.map_smul₂ T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin B₃.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
rw [show quadBiLin B₃.val Y₃.val = 0 by T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val with_unfolding_all rfl All goals completed! 🐙 T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
rw [show quadBiLin B₃.val B₃.val = 0 by T:MSSMACC.LinSols⊢ (quadBiLin B₃.val) (proj T).val = (dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val with_unfolding_all rfl All goals completed! 🐙 T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val] T:MSSMACC.LinSols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0 + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0 +
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val =
(dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma quad_self_proj (T : MSSMACC.Sols) :
quadBiLin T.val (proj T.1.1).val =
(dot B₃.val T.val - dot Y₃.val T.val) * quadBiLin Y₃.val T.val +
(dot Y₃.val T.val - 2 * dot B₃.val T.val) * quadBiLin B₃.val T.val := by T:MSSMACC.Sols⊢ (quadBiLin T.val) (proj T.toLinSols).val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [proj_val T:MSSMACC.Sols⊢ (quadBiLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ (quadBiLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ (quadBiLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [quadBiLin.map_add₂, T:MSSMACC.Sols⊢ (quadBiLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ (quadBiLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val quadBiLin.map_add₂ T:MSSMACC.Sols⊢ (quadBiLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ (quadBiLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ (quadBiLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
(quadBiLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [quadBiLin.map_smul₂, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
(quadBiLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val quadBiLin.map_smul₂, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(quadBiLin T.val) ((dot Y₃.val) B₃.val • T.val) =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val quadBiLin.map_smul₂ T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [← quadBiLin.toHomogeneousQuad_apply T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * quadBiLin.toHomogeneousQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * quadBiLin.toHomogeneousQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * quadBiLin.toHomogeneousQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [← accQuad T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * accQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * accQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * accQuad T.val =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [quadSol T.1 T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
rw [quadBiLin.swap T.val Y₃.val, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin T.val) B₃.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val quadBiLin.swap T.val B₃.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val +
(dot Y₃.val) B₃.val * 0 =
((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma quad_proj (T : MSSMACC.Sols) :
quadBiLin (proj T.1.1).val (proj T.1.1).val = 2 * dot Y₃.val B₃.val *
((dot B₃.val T.val - dot Y₃.val T.val) * quadBiLin Y₃.val T.val +
(dot Y₃.val T.val - 2 * dot B₃.val T.val) * quadBiLin B₃.val T.val) := by T:MSSMACC.Sols⊢ (quadBiLin (proj T.toLinSols).val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)
nth_rewrite 1 [proj_val] T:MSSMACC.Sols⊢ (quadBiLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)
repeat rw [quadBiLin.map_add₁ T:MSSMACC.Sols⊢ (quadBiLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ (quadBiLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) (proj T.toLinSols).val +
(quadBiLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) (proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)] T:MSSMACC.Sols⊢ (quadBiLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ (quadBiLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) (proj T.toLinSols).val +
(quadBiLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) (proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ (quadBiLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) (proj T.toLinSols).val +
(quadBiLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) (proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)
repeat rw [quadBiLin.map_smul₁ T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) (proj T.toLinSols).val +
(quadBiLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) (proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) (proj T.toLinSols).val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) (proj T.toLinSols).val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) (proj T.toLinSols).val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) (proj T.toLinSols).val +
(quadBiLin ((dot Y₃.val) B₃.val • T.val)) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) (proj T.toLinSols).val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) (proj T.toLinSols).val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) (proj T.toLinSols).val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) (proj T.toLinSols).val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)
rw [quad_Y₃_proj, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) (proj T.toLinSols).val +
(dot Y₃.val) B₃.val * (quadBiLin T.val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) quad_B₃_proj, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val * (quadBiLin T.val) (proj T.toLinSols).val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) quad_self_proj T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * (quadBiLin B₃.val) T.val) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * (quadBiLin Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * (quadBiLin B₃.val) T.val)
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma cube_proj_proj_Y₃ (T : MSSMACC.LinSols) :
cubeTriLin (proj T).val (proj T).val Y₃.val =
(dot Y₃.val B₃.val)^2 * cubeTriLin T.val T.val Y₃.val := by T:MSSMACC.LinSols⊢ ((cubeTriLin (proj T).val) (proj T).val) Y₃.val = (dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [proj_val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_add₁, T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_add₂ T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
Y₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
conv_lhs =>
enter [1, 1] T:MSSMACC.LinSols| ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val
change ((cubeTriLin (lineY₃B₃ _ _).val) (lineY₃B₃ _ _).val) _ T:MSSMACC.LinSols| ((cubeTriLin (lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
Y₃.val
rw [lineY₃B₃_doublePoint] T:MSSMACC.LinSols| 0
rw [cubeTriLin.map_add₂ T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
Y₃.val +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.swap₂ T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val)
((dot Y₃.val) B₃.val • T.val) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val)
((dot Y₃.val) B₃.val • T.val) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val)
((dot Y₃.val) B₃.val • T.val) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_add₁, T:MSSMACC.LinSols⊢ 0 +
(((cubeTriLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) Y₃.val) ((dot Y₃.val) B₃.val • T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [doublePoint_Y₃_Y₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) Y₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₃, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) Y₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.swap₁ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [doublePoint_Y₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_add₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * ((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) T.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.swap₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) Y₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [doublePoint_Y₃_Y₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) Y₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) T.val) Y₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.swap₂, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) Y₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.swap₁ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [doublePoint_Y₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) Y₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val cubeTriLin.map_smul₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma cube_proj_proj_B₃ (T : MSSMACC.LinSols) :
cubeTriLin (proj T).val (proj T).val B₃.val =
(dot Y₃.val B₃.val)^2 * cubeTriLin T.val T.val B₃.val := by T:MSSMACC.LinSols⊢ ((cubeTriLin (proj T).val) (proj T).val) B₃.val = (dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [proj_val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_add₁, T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_add₂ T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [← lineY₃B₃_val, T:MSSMACC.LinSols⊢ ((cubeTriLin (lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
B₃.val +
((cubeTriLin
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
((lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val lineY₃B₃_doublePoint, T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
((lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val lineY₃B₃_val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
B₃.val =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_add₂, T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
B₃.val +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.swap₂, T:MSSMACC.LinSols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val)
((dot Y₃.val) B₃.val • T.val) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_add₁, T:MSSMACC.LinSols⊢ 0 +
(((cubeTriLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) ((dot Y₃.val) B₃.val • T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
cubeTriLin.map_smul₃, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val doublePoint_Y₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) B₃.val) ((dot Y₃.val) B₃.val • T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₃, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) B₃.val) T.val)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val doublePoint_B₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_add₂, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
(((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * ((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) T.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.swap₂, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val doublePoint_Y₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) B₃.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₂, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) T.val) B₃.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.swap₂, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
cubeTriLin.swap₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) B₃.val) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val doublePoint_B₃_B₃ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val)) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
rw [cubeTriLin.map_smul₁, T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) B₃.val) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val cubeTriLin.map_smul₂ T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val] T:MSSMACC.LinSols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * 0) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * 0)) +
((dot Y₃.val) B₃.val * (((dot B₃.val) T.val - (dot Y₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * 0) +
(dot Y₃.val) B₃.val * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) =
(dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma cube_proj_proj_self (T : MSSMACC.Sols) :
cubeTriLin (proj T.1.1).val (proj T.1.1).val T.val =
2 * dot Y₃.val B₃.val *
((dot B₃.val T.val - dot Y₃.val T.val) * cubeTriLin T.val T.val Y₃.val +
(dot Y₃.val T.val - 2 * dot B₃.val T.val) * cubeTriLin T.val T.val B₃.val) := by T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [proj_val T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [cubeTriLin.map_add₁, T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) cubeTriLin.map_add₂ T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ ((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [← lineY₃B₃_val, T:MSSMACC.Sols⊢ ((cubeTriLin (lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
T.val +
((cubeTriLin
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
((lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) lineY₃B₃_doublePoint, T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val)
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
((lineY₃B₃ ((dot B₃.val) T.val - (dot Y₃.val) T.val) ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val)).val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) lineY₃B₃_val T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
((cubeTriLin
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
((dot Y₃.val) B₃.val • T.val))
T.val +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_add₁ T:MSSMACC.Sols⊢ 0 +
(((cubeTriLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((cubeTriLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((cubeTriLin (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_smul₁ T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((cubeTriLin (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) ((dot Y₃.val) B₃.val • T.val)) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
((cubeTriLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
((cubeTriLin ((dot Y₃.val) B₃.val • T.val))
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
((cubeTriLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
((cubeTriLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val))
T.val =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_add₂ T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) T.val +
((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val))
T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) T.val +
((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin Y₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) T.val +
((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_smul₂ T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin B₃.val) ((dot Y₃.val) B₃.val • T.val)) T.val) +
(dot Y₃.val) B₃.val *
(((cubeTriLin T.val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val)) T.val +
((cubeTriLin T.val) (((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val)) T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
((cubeTriLin T.val) ((dot Y₃.val) B₃.val • T.val)) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [← cubeTriLin.toCubic_apply T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * cubeTriLin.toCubic T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * cubeTriLin.toCubic T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * cubeTriLin.toCubic T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [← cubicACC_apply T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * MSSMACC.cubicACC T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * MSSMACC.cubicACC T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * MSSMACC.cubicACC T.val) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [T.cubicSol T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin Y₃.val) T.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [cubeTriLin.swap₁ Y₃.val T.val T.val, T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) Y₃.val) T.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) Y₃.val) T.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) cubeTriLin.swap₂ T.val Y₃.val T.val T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin B₃.val) T.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [cubeTriLin.swap₁ B₃.val T.val T.val, T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) B₃.val) T.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) B₃.val) T.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) cubeTriLin.swap₂ T.val B₃.val T.val T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ 0 +
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val * ((cubeTriLin T.val) T.val) B₃.val)) +
(dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val +
(dot Y₃.val) B₃.val * 0) =
2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
ring All goals completed! 🐙
set_option backward.isDefEq.respectTransparency false in
lemma cube_proj (T : MSSMACC.Sols) :
cubeTriLin (proj T.1.1).val (proj T.1.1).val (proj T.1.1).val =
3 * dot Y₃.val B₃.val ^ 2 *
((dot B₃.val T.val - dot Y₃.val T.val) * cubeTriLin T.val T.val Y₃.val +
(dot Y₃.val T.val - 2 * dot B₃.val T.val) * cubeTriLin T.val T.val B₃.val) := by T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) (proj T.toLinSols).val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
nth_rewrite 3 [proj_val] T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val +
(dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_add₃ T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val + ((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) (((dot B₃.val) T.val - (dot Y₃.val) T.val) • Y₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
repeat rw [cubeTriLin.map_smul₃ T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) Y₃.val +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val)
(((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) • B₃.val) +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) *
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) B₃.val +
(dot Y₃.val) B₃.val * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) *
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) B₃.val +
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) ((dot Y₃.val) B₃.val • T.val) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) *
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) B₃.val +
(dot Y₃.val) B₃.val * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) *
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) B₃.val +
(dot Y₃.val) B₃.val * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
rw [cube_proj_proj_Y₃, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) *
((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) B₃.val +
(dot Y₃.val) B₃.val * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val *
(2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) cube_proj_proj_B₃, T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val * ((cubeTriLin (proj T.toLinSols).val) (proj T.toLinSols).val) T.val =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val *
(2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) cube_proj_proj_self T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val *
(2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val) T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val *
(2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)] T:MSSMACC.Sols⊢ ((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) Y₃.val) +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((dot Y₃.val) B₃.val ^ 2 * ((cubeTriLin T.val) T.val) B₃.val) +
(dot Y₃.val) B₃.val *
(2 * (dot Y₃.val) B₃.val *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)) =
3 * (dot Y₃.val) B₃.val ^ 2 *
(((dot B₃.val) T.val - (dot Y₃.val) T.val) * ((cubeTriLin T.val) T.val) Y₃.val +
((dot Y₃.val) T.val - 2 * (dot B₃.val) T.val) * ((cubeTriLin T.val) T.val) B₃.val)
ring All goals completed! 🐙