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.BeyondTheStandardModel.RHN.AnomalyCancellation.Ordinary.Basic

Dimension 7 plane

We work here in the three family case. We give an example of a 7 dimensional plane on which every point satisfies the ACCs.

The main result of this file is seven_dim_plane_exists which states that there exists a 7 dimensional plane of charges on which every point satisfies the ACCs.

@[expose] public section

A charge assignment forming one of the basis elements of the plane.

def B₀ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 0, 0 => 1 | 0, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₀_cubic (S T : (SM 3).Charges) : cubeTriLin B₀ S T = 6 * (S (0 : Fin 18) * T (0 : Fin 18) - S (1 : Fin 18) * T (1 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₀) S) T = 6 * (S 0 * T 0 - S 1 * T 1) S:(SM 3).ChargesT:(SM 3).Charges6 * (S 0 * T 0) + -(6 * (S 1 * T 1)) = 6 * (S 0 * T 0 - S 1 * T 1) All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₁ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 1, 0 => 1 | 1, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₁_cubic (S T : (SM 3).Charges) : cubeTriLin B₁ S T = 3 * (S (3 : Fin 18) * T (3 : Fin 18) - S (4 : Fin 18) * T (4 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₁) S) T = 3 * (S 3 * T 3 - S 4 * T 4) S:(SM 3).ChargesT:(SM 3).Charges3 * (S 3 * T 3) + -(3 * (S 4 * T 4)) = 3 * (S 3 * T 3 - S 4 * T 4) All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₂ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 2, 0 => 1 | 2, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₂_cubic (S T : (SM 3).Charges) : cubeTriLin B₂ S T = 3 * (S (6 : Fin 18) * T (6 : Fin 18) - S (7 : Fin 18) * T (7 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₂) S) T = 3 * (S 6 * T 6 - S 7 * T 7) S:(SM 3).ChargesT:(SM 3).Charges3 * (S 6 * T 6) + -(3 * (S 7 * T 7)) = 3 * (S 6 * T 6 - S 7 * T 7) All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₃ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 3, 0 => 1 | 3, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₃_cubic (S T : (SM 3).Charges) : cubeTriLin B₃ S T = 2 * (S (9 : Fin 18) * T (9 : Fin 18) - S (10 : Fin 18) * T (10 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₃) S) T = 2 * (S 9 * T 9 - S 10 * T 10) S:(SM 3).ChargesT:(SM 3).Charges2 * (S 9 * T 9) + -(2 * (S 10 * T 10)) = 2 * (S 9 * T 9 - S 10 * T 10) All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₄ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 4, 0 => 1 | 4, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₄_cubic (S T : (SM 3).Charges) : cubeTriLin B₄ S T = (S (12 : Fin 18) * T (12 : Fin 18) - S (13 : Fin 18) * T (13 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₄) S) T = S 12 * T 12 - S 13 * T 13 S:(SM 3).ChargesT:(SM 3).ChargesS 12 * T 12 + -(S 13 * T 13) = S 12 * T 12 - S 13 * T 13 All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₅ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 5, 0 => 1 | 5, 1 => - 1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₅_cubic (S T : (SM 3).Charges) : cubeTriLin B₅ S T = (S (15 : Fin 18) * T (15 : Fin 18) - S (16 : Fin 18) * T (16 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₅) S) T = S 15 * T 15 - S 16 * T 16 S:(SM 3).ChargesT:(SM 3).ChargesS 15 * T 15 + -(S 16 * T 16) = S 15 * T 15 - S 16 * T 16 All goals completed! 🐙

A charge assignment forming one of the basis elements of the plane.

def B₆ : (SM 3).Charges := toSpeciesEquiv.invFun (fun s => fun i => match s, i with | 1, 2 => 1 | 2, 2 => -1 | _, _ => 0)
set_option backward.isDefEq.respectTransparency false in lemma B₆_cubic (S T : (SM 3).Charges) : cubeTriLin B₆ S T = 3 * (S (5 : Fin 18) * T (5 : Fin 18) - S (8 : Fin 18) * T (8 : Fin 18)) := S:(SM 3).ChargesT:(SM 3).Charges((cubeTriLin B₆) S) T = 3 * (S 5 * T 5 - S 8 * T 8) S:(SM 3).ChargesT:(SM 3).Charges3 * (S 5 * T 5) + -(3 * (S 8 * T 8)) = 3 * (S 5 * T 5 - S 8 * T 8) All goals completed! 🐙TODO "Remove the definitions of elements `(SM 3).Charges` B₀, B₁ etc, here are use only `B : Fin 7 → (SM 3).Charges`. "

The charge assignments forming a basis of the plane.

@[simp] abbrev B : Fin 7 (SM 3).Charges := fun i => match i with | 0 => B₀ | 1 => B₁ | 2 => B₂ | 3 => B₃ | 4 => B₄ | 5 => B₅ | 6 => B₆
i:Fin 7hi:0 iS:(SM 3).Charges6 * (B i 0 * S 0 - B i 1 * S 1) = 0 S:(SM 3).Chargeshi:0 (fun i => i) 0, 6 * (B ((fun i => i) 0, ) 0 * S 0 - B ((fun i => i) 0, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 1, 6 * (B ((fun i => i) 1, ) 0 * S 0 - B ((fun i => i) 1, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 2, 6 * (B ((fun i => i) 2, ) 0 * S 0 - B ((fun i => i) 2, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 3, 6 * (B ((fun i => i) 3, ) 0 * S 0 - B ((fun i => i) 3, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 4, 6 * (B ((fun i => i) 4, ) 0 * S 0 - B ((fun i => i) 4, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 5, 6 * (B ((fun i => i) 5, ) 0 * S 0 - B ((fun i => i) 5, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 6, 6 * (B ((fun i => i) 6, ) 0 * S 0 - B ((fun i => i) 6, ) 1 * S 1) = 0 S:(SM 3).Chargeshi:0 (fun i => i) 0, 6 * (B ((fun i => i) 0, ) 0 * S 0 - B ((fun i => i) 0, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 1, 6 * (B ((fun i => i) 1, ) 0 * S 0 - B ((fun i => i) 1, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 2, 6 * (B ((fun i => i) 2, ) 0 * S 0 - B ((fun i => i) 2, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 3, 6 * (B ((fun i => i) 3, ) 0 * S 0 - B ((fun i => i) 3, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 4, 6 * (B ((fun i => i) 4, ) 0 * S 0 - B ((fun i => i) 4, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 5, 6 * (B ((fun i => i) 5, ) 0 * S 0 - B ((fun i => i) 5, ) 1 * S 1) = 0S:(SM 3).Chargeshi:0 (fun i => i) 6, 6 * (B ((fun i => i) 6, ) 0 * S 0 - B ((fun i => i) 6, ) 1 * S 1) = 0 first | S:(SM 3).Chargeshi:0 (fun i => i) 6, 6 * (B ((fun i => i) 6, ) 0 * S 0 - B ((fun i => i) 6, ) 1 * S 1) = 0 | All goals completed! 🐙i:Fin 7hi:1 iS:(SM 3).Charges3 * (B i 3 * S 3 - B i 4 * S 4) = 0 S:(SM 3).Chargeshi:1 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 3 * S 3 - B ((fun i => i) 0, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 3 * S 3 - B ((fun i => i) 1, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 3 * S 3 - B ((fun i => i) 2, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 3 * S 3 - B ((fun i => i) 3, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 3 * S 3 - B ((fun i => i) 4, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 3 * S 3 - B ((fun i => i) 5, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 3 * S 3 - B ((fun i => i) 6, ) 4 * S 4) = 0 S:(SM 3).Chargeshi:1 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 3 * S 3 - B ((fun i => i) 0, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 3 * S 3 - B ((fun i => i) 1, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 3 * S 3 - B ((fun i => i) 2, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 3 * S 3 - B ((fun i => i) 3, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 3 * S 3 - B ((fun i => i) 4, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 3 * S 3 - B ((fun i => i) 5, ) 4 * S 4) = 0S:(SM 3).Chargeshi:1 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 3 * S 3 - B ((fun i => i) 6, ) 4 * S 4) = 0 first | S:(SM 3).Chargeshi:1 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 3 * S 3 - B ((fun i => i) 6, ) 4 * S 4) = 0 | All goals completed! 🐙i:Fin 7hi:2 iS:(SM 3).Charges3 * (B i 6 * S 6 - B i 7 * S 7) = 0 S:(SM 3).Chargeshi:2 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 6 * S 6 - B ((fun i => i) 0, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 6 * S 6 - B ((fun i => i) 1, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 6 * S 6 - B ((fun i => i) 2, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 6 * S 6 - B ((fun i => i) 3, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 6 * S 6 - B ((fun i => i) 4, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 6 * S 6 - B ((fun i => i) 5, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 6 * S 6 - B ((fun i => i) 6, ) 7 * S 7) = 0 S:(SM 3).Chargeshi:2 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 6 * S 6 - B ((fun i => i) 0, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 6 * S 6 - B ((fun i => i) 1, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 6 * S 6 - B ((fun i => i) 2, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 6 * S 6 - B ((fun i => i) 3, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 6 * S 6 - B ((fun i => i) 4, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 6 * S 6 - B ((fun i => i) 5, ) 7 * S 7) = 0S:(SM 3).Chargeshi:2 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 6 * S 6 - B ((fun i => i) 6, ) 7 * S 7) = 0 first | S:(SM 3).Chargeshi:2 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 6 * S 6 - B ((fun i => i) 6, ) 7 * S 7) = 0 | All goals completed! 🐙i:Fin 7hi:3 iS:(SM 3).Charges2 * (B i 9 * S 9 - B i 10 * S 10) = 0 S:(SM 3).Chargeshi:3 (fun i => i) 0, 2 * (B ((fun i => i) 0, ) 9 * S 9 - B ((fun i => i) 0, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 1, 2 * (B ((fun i => i) 1, ) 9 * S 9 - B ((fun i => i) 1, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 2, 2 * (B ((fun i => i) 2, ) 9 * S 9 - B ((fun i => i) 2, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 3, 2 * (B ((fun i => i) 3, ) 9 * S 9 - B ((fun i => i) 3, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 4, 2 * (B ((fun i => i) 4, ) 9 * S 9 - B ((fun i => i) 4, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 5, 2 * (B ((fun i => i) 5, ) 9 * S 9 - B ((fun i => i) 5, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 6, 2 * (B ((fun i => i) 6, ) 9 * S 9 - B ((fun i => i) 6, ) 10 * S 10) = 0 S:(SM 3).Chargeshi:3 (fun i => i) 0, 2 * (B ((fun i => i) 0, ) 9 * S 9 - B ((fun i => i) 0, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 1, 2 * (B ((fun i => i) 1, ) 9 * S 9 - B ((fun i => i) 1, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 2, 2 * (B ((fun i => i) 2, ) 9 * S 9 - B ((fun i => i) 2, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 3, 2 * (B ((fun i => i) 3, ) 9 * S 9 - B ((fun i => i) 3, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 4, 2 * (B ((fun i => i) 4, ) 9 * S 9 - B ((fun i => i) 4, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 5, 2 * (B ((fun i => i) 5, ) 9 * S 9 - B ((fun i => i) 5, ) 10 * S 10) = 0S:(SM 3).Chargeshi:3 (fun i => i) 6, 2 * (B ((fun i => i) 6, ) 9 * S 9 - B ((fun i => i) 6, ) 10 * S 10) = 0 first | S:(SM 3).Chargeshi:3 (fun i => i) 6, 2 * (B ((fun i => i) 6, ) 9 * S 9 - B ((fun i => i) 6, ) 10 * S 10) = 0 | All goals completed! 🐙i:Fin 7hi:4 iS:(SM 3).ChargesB i 12 * S 12 - B i 13 * S 13 = 0 S:(SM 3).Chargeshi:4 (fun i => i) 0, B ((fun i => i) 0, ) 12 * S 12 - B ((fun i => i) 0, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 1, B ((fun i => i) 1, ) 12 * S 12 - B ((fun i => i) 1, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 2, B ((fun i => i) 2, ) 12 * S 12 - B ((fun i => i) 2, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 3, B ((fun i => i) 3, ) 12 * S 12 - B ((fun i => i) 3, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 4, B ((fun i => i) 4, ) 12 * S 12 - B ((fun i => i) 4, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 5, B ((fun i => i) 5, ) 12 * S 12 - B ((fun i => i) 5, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 6, B ((fun i => i) 6, ) 12 * S 12 - B ((fun i => i) 6, ) 13 * S 13 = 0 S:(SM 3).Chargeshi:4 (fun i => i) 0, B ((fun i => i) 0, ) 12 * S 12 - B ((fun i => i) 0, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 1, B ((fun i => i) 1, ) 12 * S 12 - B ((fun i => i) 1, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 2, B ((fun i => i) 2, ) 12 * S 12 - B ((fun i => i) 2, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 3, B ((fun i => i) 3, ) 12 * S 12 - B ((fun i => i) 3, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 4, B ((fun i => i) 4, ) 12 * S 12 - B ((fun i => i) 4, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 5, B ((fun i => i) 5, ) 12 * S 12 - B ((fun i => i) 5, ) 13 * S 13 = 0S:(SM 3).Chargeshi:4 (fun i => i) 6, B ((fun i => i) 6, ) 12 * S 12 - B ((fun i => i) 6, ) 13 * S 13 = 0 first | S:(SM 3).Chargeshi:4 (fun i => i) 6, B ((fun i => i) 6, ) 12 * S 12 - B ((fun i => i) 6, ) 13 * S 13 = 0 | All goals completed! 🐙i:Fin 7hi:5 iS:(SM 3).ChargesB i 15 * S 15 - B i 16 * S 16 = 0 S:(SM 3).Chargeshi:5 (fun i => i) 0, B ((fun i => i) 0, ) 15 * S 15 - B ((fun i => i) 0, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 1, B ((fun i => i) 1, ) 15 * S 15 - B ((fun i => i) 1, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 2, B ((fun i => i) 2, ) 15 * S 15 - B ((fun i => i) 2, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 3, B ((fun i => i) 3, ) 15 * S 15 - B ((fun i => i) 3, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 4, B ((fun i => i) 4, ) 15 * S 15 - B ((fun i => i) 4, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 5, B ((fun i => i) 5, ) 15 * S 15 - B ((fun i => i) 5, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 6, B ((fun i => i) 6, ) 15 * S 15 - B ((fun i => i) 6, ) 16 * S 16 = 0 S:(SM 3).Chargeshi:5 (fun i => i) 0, B ((fun i => i) 0, ) 15 * S 15 - B ((fun i => i) 0, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 1, B ((fun i => i) 1, ) 15 * S 15 - B ((fun i => i) 1, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 2, B ((fun i => i) 2, ) 15 * S 15 - B ((fun i => i) 2, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 3, B ((fun i => i) 3, ) 15 * S 15 - B ((fun i => i) 3, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 4, B ((fun i => i) 4, ) 15 * S 15 - B ((fun i => i) 4, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 5, B ((fun i => i) 5, ) 15 * S 15 - B ((fun i => i) 5, ) 16 * S 16 = 0S:(SM 3).Chargeshi:5 (fun i => i) 6, B ((fun i => i) 6, ) 15 * S 15 - B ((fun i => i) 6, ) 16 * S 16 = 0 first | S:(SM 3).Chargeshi:5 (fun i => i) 6, B ((fun i => i) 6, ) 15 * S 15 - B ((fun i => i) 6, ) 16 * S 16 = 0 | All goals completed! 🐙i:Fin 7hi:6 iS:(SM 3).Charges3 * (B i 5 * S 5 - B i 8 * S 8) = 0 S:(SM 3).Chargeshi:6 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 5 * S 5 - B ((fun i => i) 0, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 5 * S 5 - B ((fun i => i) 1, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 5 * S 5 - B ((fun i => i) 2, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 5 * S 5 - B ((fun i => i) 3, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 5 * S 5 - B ((fun i => i) 4, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 5 * S 5 - B ((fun i => i) 5, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 5 * S 5 - B ((fun i => i) 6, ) 8 * S 8) = 0 S:(SM 3).Chargeshi:6 (fun i => i) 0, 3 * (B ((fun i => i) 0, ) 5 * S 5 - B ((fun i => i) 0, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 1, 3 * (B ((fun i => i) 1, ) 5 * S 5 - B ((fun i => i) 1, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 2, 3 * (B ((fun i => i) 2, ) 5 * S 5 - B ((fun i => i) 2, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 3, 3 * (B ((fun i => i) 3, ) 5 * S 5 - B ((fun i => i) 3, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 4, 3 * (B ((fun i => i) 4, ) 5 * S 5 - B ((fun i => i) 4, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 5, 3 * (B ((fun i => i) 5, ) 5 * S 5 - B ((fun i => i) 5, ) 8 * S 8) = 0S:(SM 3).Chargeshi:6 (fun i => i) 6, 3 * (B ((fun i => i) 6, ) 5 * S 5 - B ((fun i => i) 6, ) 8 * S 8) = 0 first | All goals completed! 🐙 | All goals completed! 🐙lemma Bi_Bj_ne_cubic {i j : Fin 7} (h : i j) (S : (SM 3).Charges) : cubeTriLin (B i) (B j) S = 0 := i:Fin 7j:Fin 7h:i jS:(SM 3).Charges((cubeTriLin (B i)) (B j)) S = 0 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 0, j((cubeTriLin (B ((fun i => i) 0, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 1, j((cubeTriLin (B ((fun i => i) 1, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 2, j((cubeTriLin (B ((fun i => i) 2, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 3, j((cubeTriLin (B ((fun i => i) 3, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 4, j((cubeTriLin (B ((fun i => i) 4, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 5, j((cubeTriLin (B ((fun i => i) 5, ))) (B j)) S = 0j:Fin 7S:(SM 3).Chargesh:(fun i => i) 6, j((cubeTriLin (B ((fun i => i) 6, ))) (B j)) S = 0 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 0, j((cubeTriLin (B ((fun i => i) 0, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 1, j((cubeTriLin (B ((fun i => i) 1, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 2, j((cubeTriLin (B ((fun i => i) 2, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 3, j((cubeTriLin (B ((fun i => i) 3, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 4, j((cubeTriLin (B ((fun i => i) 4, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 5, j((cubeTriLin (B ((fun i => i) 5, ))) (B j)) S = 0 All goals completed! 🐙 j:Fin 7S:(SM 3).Chargesh:(fun i => i) 6, j((cubeTriLin (B ((fun i => i) 6, ))) (B j)) S = 0 All goals completed! 🐙i:Fin 7j:Fin 7hij:i j((cubeTriLin (B i)) (B j)) (B i) = 0 All goals completed! 🐙lemma Bi_Bj_Bk_cubic (i j k : Fin 7) : cubeTriLin (B i) (B j) (B k) = 0 := i:Fin 7j:Fin 7k:Fin 7((cubeTriLin (B i)) (B j)) (B k) = 0 i:Fin 7k:Fin 7((cubeTriLin (B i)) (B i)) (B k) = 0i:Fin 7j:Fin 7k:Fin 7hij:i j((cubeTriLin (B i)) (B j)) (B k) = 0 i:Fin 7k:Fin 7((cubeTriLin (B i)) (B i)) (B k) = 0 All goals completed! 🐙 i:Fin 7j:Fin 7k:Fin 7hij:i j((cubeTriLin (B i)) (B j)) (B k) = 0 All goals completed! 🐙f:Fin 7 i, k, l, ((cubeTriLin (f i B i)) (f k B k)) (f l B l) = 0 f:Fin 7 i:Fin 7k:Fin 7l:Fin 7((cubeTriLin (f i B i)) (f k B k)) (f l B l) = 0 All goals completed! 🐙set_option backward.isDefEq.respectTransparency false in lemma B_sum_is_sol (f : Fin 7 ) : (SM 3).IsSolution ( i, f i B i) := chargeToAF ( i, f i B i) (f:Fin 7 accGrav (∑ i, f i B i) = 0 f:Fin 7 x, f x accGrav (B x) = 0 f:Fin 7 i:Fin 7accGrav (B i) = 0 with_unfolding_all All goals completed! 🐙) (f:Fin 7 accSU2 (∑ i, f i B i) = 0 f:Fin 7 x, f x accSU2 (B x) = 0 f:Fin 7 i:Fin 7accSU2 (B i) = 0 with_unfolding_all All goals completed! 🐙) (f:Fin 7 accSU3 (∑ i, f i B i) = 0 f:Fin 7 x, f x accSU3 (B x) = 0 f:Fin 7 i:Fin 7accSU3 (B i) = 0 with_unfolding_all All goals completed! 🐙) (B_in_accCube f), rflset_option backward.isDefEq.respectTransparency false in theorem basis_linear_independent : LinearIndependent B := LinearIndependent B f:Fin 7 h: i, f i B i = 0 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3h2:(∑ i, f i B i) 6 = 0 6 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3h2:(∑ i, f i B i) 6 = 0 6h3:(∑ i, f i B i) 9 = 0 9 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3h2:(∑ i, f i B i) 6 = 0 6h3:(∑ i, f i B i) 9 = 0 9h4:(∑ i, f i B i) 12 = 0 12 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3h2:(∑ i, f i B i) 6 = 0 6h3:(∑ i, f i B i) 9 = 0 9h4:(∑ i, f i B i) 12 = 0 12h5:(∑ i, f i B i) 15 = 0 15 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:(∑ i, f i B i) 0 = 0 0h1:(∑ i, f i B i) 3 = 0 3h2:(∑ i, f i B i) 6 = 0 6h3:(∑ i, f i B i) 9 = 0 9h4:(∑ i, f i B i) 12 = 0 12h5:(∑ i, f i B i) 15 = 0 15h6:(∑ i, f i B i) 5 = 0 5 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5 (i : Fin 7), f i = 0 f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5i:Fin 7f i = 0 f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 0, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 1, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 2, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 3, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 4, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 5, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 6, ) = 0 f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 0, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 1, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 2, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 3, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 4, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 5, ) = 0f:Fin 7 h: i, f i B i = 0h0:f 0 = 0 0h1:f 1 = 0 3h2:f 2 = 0 6h3:f 3 = 0 9h4:f 4 = 0 12h5:f 5 = 0 15h6:f 6 = 0 5f ((fun i => i) 6, ) = 0 All goals completed! 🐙theorem seven_dim_plane_exists : (B : Fin 7 (SM 3).Charges), LinearIndependent B (f : Fin 7 ), (SM 3).IsSolution ( i, f i B i) := PlaneSeven.B, And.intro PlaneSeven.basis_linear_independent PlaneSeven.B_sum_is_sol