Imports
/-
Copyright (c) 2025 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.Relativity.LorentzGroup.BasicBoosts in the Lorentz group
@[expose] public sectionThe Lorentz factor (aka gamma factor or Lorentz term).
def γ (β : ℝ) : ℝ := 1 / Real.sqrt (1 - β^2)lemma γ_sq (β : ℝ) (hβ : |β| < 1) : (γ β)^2 = 1 / (1 - β^2) := β:ℝhβ:|β| < 1⊢ γ β ^ 2 = 1 / (1 - β ^ 2)
β:ℝhβ:|β| < 1⊢ √(1 - β ^ 2) ^ 2 = 1 - β ^ 2
β:ℝhβ:|β| < 1⊢ 0 ≤ 1 - β ^ 2
β:ℝhβ:|β| < 1⊢ |β| ≤ 1
All goals completed! 🐙@[simp]
lemma γ_zero : γ 0 = 1 := ⊢ γ 0 = 1 All goals completed! 🐙@[simp]
lemma γ_neg (β : ℝ) : γ (-β) = γ β := β:ℝ⊢ γ (-β) = γ β All goals completed! 🐙β:ℝhβ:-1 < β ∧ β < 1hn:1 - β ^ 2 = 0h1:β ^ 2 = 1⊢ False
simp at h1 β:ℝhβ:-1 < β ∧ β < 1hn:1 - β ^ 2 = 0h1:β = 1 ∨ β = -1⊢ False
aesop All goals completed! 🐙
The Lorentz boost with in the space direction i with speed β with
|β| < 1.
def boost (i : Fin d) (β : ℝ) (hβ : |β| < 1) : LorentzGroup d :=
⟨
fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else if k = Sum.inl 0 ∧ j = Sum.inr i then - γ β * β
else if k = Sum.inr i ∧ j = Sum.inl 0 then - γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else
if j = k then 1 else 0, h⟩
where
h := by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ (fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) ∈
𝓛 d
rw [mem_iff_dual_mul_self d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ ((minkowskiMatrix.dual fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) *
fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) =
1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ ((minkowskiMatrix.dual fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) *
fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) =
1] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ ((minkowskiMatrix.dual fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) *
fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) =
1
ext j k d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ((minkowskiMatrix.dual fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) *
fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0)
j k =
1 j k
rw [Matrix.mul_apply d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (∑ j_1,
minkowskiMatrix.dual
(fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0)
j j_1 *
if k = Sum.inl 0 ∧ j_1 = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j_1 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j_1 = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j_1 = Sum.inr i then γ β else if j_1 = k then 1 else 0) =
1 j k d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (∑ j_1,
minkowskiMatrix.dual
(fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0)
j j_1 *
if k = Sum.inl 0 ∧ j_1 = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j_1 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j_1 = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j_1 = Sum.inr i then γ β else if j_1 = k then 1 else 0) =
1 j k] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (∑ j_1,
minkowskiMatrix.dual
(fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0)
j j_1 *
if k = Sum.inl 0 ∧ j_1 = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j_1 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j_1 = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j_1 = Sum.inr i then γ β else if j_1 = k then 1 else 0) =
1 j k
conv_lhs =>
enter [2, x] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dx:Fin 1 ⊕ Fin d| minkowskiMatrix.dual
(fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0)
j x *
if k = Sum.inl 0 ∧ x = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ x = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ x = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ x = Sum.inr i then γ β else if x = k then 1 else 0
rw [minkowskiMatrix.dual_apply] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dx:Fin 1 ⊕ Fin d| (minkowskiMatrix j j *
if j = Sum.inl 0 ∧ x = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ x = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ x = Sum.inl 0 then -γ β * β
else if j = Sum.inr i ∧ x = Sum.inr i then γ β else if x = j then 1 else 0) *
minkowskiMatrix x x *
if k = Sum.inl 0 ∧ x = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ x = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ x = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ x = Sum.inr i then γ β else if x = k then 1 else 0
simp only [Fintype.sum_sum_type, Finset.univ_unique, Fin.default_eq_zero, Fin.isValue,
Finset.sum_singleton] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (((minkowskiMatrix j j *
if j = Sum.inl 0 ∧ True then γ β
else
if j = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ True then -γ β * β
else if j = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = j then 1 else 0) *
minkowskiMatrix (Sum.inl 0) (Sum.inl 0) *
if k = Sum.inl 0 ∧ True then γ β
else
if k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ True then -γ β * β
else if k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = k then 1 else 0) +
∑ a₂,
(minkowskiMatrix j j *
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = j then 1 else 0) *
minkowskiMatrix (Sum.inr a₂) (Sum.inr a₂) *
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = k then 1 else 0) =
1 j k
rw [minkowskiMatrix.inl_0_inl_0 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (((minkowskiMatrix j j *
if j = Sum.inl 0 ∧ True then γ β
else
if j = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ True then -γ β * β
else if j = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = j then 1 else 0) *
1 *
if k = Sum.inl 0 ∧ True then γ β
else
if k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ True then -γ β * β
else if k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = k then 1 else 0) +
∑ a₂,
(minkowskiMatrix j j *
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = j then 1 else 0) *
minkowskiMatrix (Sum.inr a₂) (Sum.inr a₂) *
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = k then 1 else 0) =
1 j k d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (((minkowskiMatrix j j *
if j = Sum.inl 0 ∧ True then γ β
else
if j = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ True then -γ β * β
else if j = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = j then 1 else 0) *
1 *
if k = Sum.inl 0 ∧ True then γ β
else
if k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ True then -γ β * β
else if k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = k then 1 else 0) +
∑ a₂,
(minkowskiMatrix j j *
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = j then 1 else 0) *
minkowskiMatrix (Sum.inr a₂) (Sum.inr a₂) *
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = k then 1 else 0) =
1 j k] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (((minkowskiMatrix j j *
if j = Sum.inl 0 ∧ True then γ β
else
if j = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ True then -γ β * β
else if j = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = j then 1 else 0) *
1 *
if k = Sum.inl 0 ∧ True then γ β
else
if k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ True then -γ β * β
else if k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = k then 1 else 0) +
∑ a₂,
(minkowskiMatrix j j *
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if j = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = j then 1 else 0) *
minkowskiMatrix (Sum.inr a₂) (Sum.inr a₂) *
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ Sum.inr a₂ = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ Sum.inr a₂ = Sum.inr i then γ β else if Sum.inr a₂ = k then 1 else 0) =
1 j k
simp only [Fin.isValue, and_true, reduceCtorEq, and_false, ↓reduceIte, neg_mul, mul_ite,
mul_neg, mul_one, mul_zero, ite_mul, zero_mul, Sum.inr.injEq] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then
-(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β))
else
if j = Sum.inr i ∧ x = i then
minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β)
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then
-(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β)
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x))
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x)
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) else 0
else 0) =
1 j k
conv_lhs =>
enter [2, 2, x] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dx:Fin d| if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then
-(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β))
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β)
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) * (γ β * β) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β)
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) * γ β else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * minkowskiMatrix (Sum.inr x) (Sum.inr x))
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * minkowskiMatrix (Sum.inr x) (Sum.inr x)
else if Sum.inr x = j then minkowskiMatrix j j * minkowskiMatrix (Sum.inr x) (Sum.inr x) else 0
else 0
rw [minkowskiMatrix.inr_i_inr_i] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dx:Fin d| if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * -1 * (γ β * β))
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * -1 * (γ β * β)
else if Sum.inr x = j then minkowskiMatrix j j * -1 * (γ β * β) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * -1 * γ β)
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * -1 * γ β
else if Sum.inr x = j then minkowskiMatrix j j * -1 * γ β else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then -(minkowskiMatrix j j * (γ β * β) * -1)
else
if j = Sum.inr i ∧ x = i then minkowskiMatrix j j * γ β * -1
else if Sum.inr x = j then minkowskiMatrix j j * -1 else 0
else 0
simp only [Fin.isValue, mul_neg, mul_one, neg_mul, neg_neg] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
have hγ : (γ β) ^ 2 - (γ β) ^ 2 * β ^ 2 = 1 := by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ (fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) ∈
𝓛 d d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
have hd := γ_det_not_zero β hβ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
rw [show (γ β) ^ 2 - (γ β) ^ 2 * β ^ 2 = (γ β) ^ 2 * (1 - β ^ 2) by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ (fun j k =>
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -γ β * β
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -γ β * β
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0) ∈
𝓛 d d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ 1 / (1 - β ^ 2) * (1 - β ^ 2) = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k ring All goals completed! 🐙 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ 1 / (1 - β ^ 2) * (1 - β ^ 2) = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k, γ_sq β hβ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ 1 / (1 - β ^ 2) * (1 - β ^ 2) = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ 1 / (1 - β ^ 2) * (1 - β ^ 2) = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhd:1 - β ^ 2 ≠ 0⊢ 1 / (1 - β ^ 2) * (1 - β ^ 2) = 1 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
field_simp d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
by_cases hj : j = Sum.inl 0 pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hj:j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j kneg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hj:¬j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hj:j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k subst hj pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then
if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * γ β
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * γ β)
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β else 0
else
if k = Sum.inr i then
-if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * (γ β * β)
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β))
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * (γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * (γ β * β))
else if Sum.inr x = Sum.inl 0 then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * γ β
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * γ β)
else if Sum.inr x = Sum.inl 0 then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β) else 0
else
if Sum.inr x = k then
if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β)
else if Sum.inr x = Sum.inl 0 then -minkowskiMatrix (Sum.inl 0) (Sum.inl 0) else 0
else 0) =
1 (Sum.inl 0) k
simp only [Fin.isValue, ↓reduceIte, minkowskiMatrix.inl_0_inl_0, one_mul, true_and,
reduceCtorEq, false_and] pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then -if x = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ x = i then if x = i then γ β * β * γ β else 0
else if Sum.inr x = k then if x = i then γ β * β else 0 else 0) =
1 (Sum.inl 0) k
rw [Finset.sum_eq_single i pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
1 (Sum.inl 0) kpos.h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ∀ b ∈ Finset.univ,
b ≠ i →
(if k = Sum.inl 0 ∧ b = i then -if b = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ b = i then if b = i then γ β * β * γ β else 0
else if Sum.inr b = k then if b = i then γ β * β else 0 else 0) =
0pos.h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ i ∉ Finset.univ →
(if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
0 pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
1 (Sum.inl 0) kpos.h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ∀ b ∈ Finset.univ,
b ≠ i →
(if k = Sum.inl 0 ∧ b = i then -if b = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ b = i then if b = i then γ β * β * γ β else 0
else if Sum.inr b = k then if b = i then γ β * β else 0 else 0) =
0pos.h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ i ∉ Finset.univ →
(if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
0]pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
1 (Sum.inl 0) kpos.h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ∀ b ∈ Finset.univ,
b ≠ i →
(if k = Sum.inl 0 ∧ b = i then -if b = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ b = i then if b = i then γ β * β * γ β else 0
else if Sum.inr b = k then if b = i then γ β * β else 0 else 0) =
0pos.h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ i ∉ Finset.univ →
(if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
0
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
1 (Sum.inl 0) k simp only [Fin.isValue, and_true, ↓reduceIte] pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 then -(γ β * β * (γ β * β))
else if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k
by_cases hk : k = Sum.inl 0 pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:k = Sum.inl 0⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 then -(γ β * β * (γ β * β))
else if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) kneg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 then -(γ β * β * (γ β * β))
else if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:k = Sum.inl 0⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 then -(γ β * β * (γ β * β))
else if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k subst hk pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1hγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ((if Sum.inl 0 = Sum.inl 0 then γ β * γ β
else if Sum.inl 0 = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = Sum.inl 0 then γ β else 0) +
if Sum.inl 0 = Sum.inl 0 then -(γ β * β * (γ β * β))
else if Sum.inl 0 = Sum.inr i then γ β * β * γ β else if Sum.inr i = Sum.inl 0 then γ β * β else 0) =
1 (Sum.inl 0) (Sum.inl 0)
simp only [Fin.isValue, ↓reduceIte, one_apply_eq] pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1hγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ γ β * γ β + -(γ β * β * (γ β * β)) = 1
linear_combination hγ All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0⊢ ((if k = Sum.inl 0 then γ β * γ β else if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inl 0 then -(γ β * β * (γ β * β))
else if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k simp only [Fin.isValue, hk, ↓reduceIte] neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0⊢ ((if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k
by_cases hk' : k = Sum.inr i pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':k = Sum.inr i⊢ ((if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) kneg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':k = Sum.inr i⊢ ((if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k simp only [hk', ↓reduceIte, Fin.isValue, ne_eq, reduceCtorEq, not_false_eq_true,
one_apply_ne] pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':k = Sum.inr i⊢ -(γ β * (γ β * β)) + γ β * β * γ β = 0
ring All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if k = Sum.inr i then -(γ β * (γ β * β)) else if Sum.inl 0 = k then γ β else 0) +
if k = Sum.inr i then γ β * β * γ β else if Sum.inr i = k then γ β * β else 0) =
1 (Sum.inl 0) k simp only [hk', ↓reduceIte, Fin.isValue] neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if Sum.inl 0 = k then γ β else 0) + if Sum.inr i = k then γ β * β else 0) = 1 (Sum.inl 0) k
rw [one_apply_ne fun a => hk (id (Eq.symm a)) neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if Sum.inl 0 = k then γ β else 0) + if Sum.inr i = k then γ β * β else 0) = 0 neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if Sum.inl 0 = k then γ β else 0) + if Sum.inr i = k then γ β * β else 0) = 0]neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ((if Sum.inl 0 = k then γ β else 0) + if Sum.inr i = k then γ β * β else 0) = 0
rw [if_neg (by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ¬Sum.inl 0 = k neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ (0 + if Sum.inr i = k then γ β * β else 0) = 0 exact fun a => hk (id (Eq.symm a)) All goals completed! 🐙neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ (0 + if Sum.inr i = k then γ β * β else 0) = 0)]neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ (0 + if Sum.inr i = k then γ β * β else 0) = 0
rw [if_neg (by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ ¬Sum.inr i = k neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ 0 + 0 = 0 exact fun a => hk' (id (Eq.symm a)) All goals completed! 🐙neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ 0 + 0 = 0)]neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hk:¬k = Sum.inl 0hk':¬k = Sum.inr i⊢ 0 + 0 = 0
simp All goals completed! 🐙
· pos.h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ ∀ b ∈ Finset.univ,
b ≠ i →
(if k = Sum.inl 0 ∧ b = i then -if b = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ b = i then if b = i then γ β * β * γ β else 0
else if Sum.inr b = k then if b = i then γ β * β else 0 else 0) =
0 intro b _ hb pos.h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1b:Fin da✝:b ∈ Finset.univhb:b ≠ i⊢ (if k = Sum.inl 0 ∧ b = i then -if b = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ b = i then if b = i then γ β * β * γ β else 0
else if Sum.inr b = k then if b = i then γ β * β else 0 else 0) =
0
simp [hb] All goals completed! 🐙
· pos.h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1k:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1⊢ i ∉ Finset.univ →
(if k = Sum.inl 0 ∧ i = i then -if i = i then γ β * β * (γ β * β) else 0
else
if k = Sum.inr i ∧ i = i then if i = i then γ β * β * γ β else 0
else if Sum.inr i = k then if i = i then γ β * β else 0 else 0) =
0 simp All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hj:¬j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * γ β)
else if Sum.inl 0 = j then minkowskiMatrix j j * γ β else 0
else
if k = Sum.inr i then
-if j = Sum.inl 0 then minkowskiMatrix j j * γ β * (γ β * β)
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β) * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j * (γ β * β) else 0
else
if Sum.inl 0 = k then
if j = Sum.inl 0 then minkowskiMatrix j j * γ β
else
if j = Sum.inr i then -(minkowskiMatrix j j * (γ β * β))
else if Sum.inl 0 = j then minkowskiMatrix j j else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * (γ β * β))
else if Sum.inr x = j then -(minkowskiMatrix j j * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β) * γ β
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β * γ β)
else if Sum.inr x = j then -(minkowskiMatrix j j * γ β) else 0
else
if Sum.inr x = k then
if j = Sum.inl 0 ∧ x = i then minkowskiMatrix j j * (γ β * β)
else
if j = Sum.inr i ∧ x = i then -(minkowskiMatrix j j * γ β)
else if Sum.inr x = j then -minkowskiMatrix j j else 0
else 0) =
1 j k match j with
| Sum.inl 0 => d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1hj:¬Sum.inl 0 = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * γ β
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * γ β)
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β else 0
else
if k = Sum.inr i then
-if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * (γ β * β)
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β
else
if Sum.inl 0 = Sum.inr i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β))
else if Sum.inl 0 = Sum.inl 0 then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * (γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * (γ β * β))
else if Sum.inr x = Sum.inl 0 then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β) * γ β
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β * γ β)
else if Sum.inr x = Sum.inl 0 then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β) else 0
else
if Sum.inr x = k then
if Sum.inl 0 = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * (γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * γ β)
else if Sum.inr x = Sum.inl 0 then -minkowskiMatrix (Sum.inl 0) (Sum.inl 0) else 0
else 0) =
1 (Sum.inl 0) k simp at hj All goals completed! 🐙
| Sum.inr j => d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β * γ β
else
if Sum.inr j = Sum.inr i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β) * γ β)
else if Sum.inl 0 = Sum.inr j then minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β
else
if Sum.inr j = Sum.inr i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then minkowskiMatrix (Sum.inr j) (Sum.inr j) else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if Sum.inr j = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β * (γ β * β))
else if Sum.inr x = Sum.inr j then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if Sum.inr j = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β * γ β)
else if Sum.inr x = Sum.inr j then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β) else 0
else
if Sum.inr x = k then
if Sum.inr j = Sum.inl 0 ∧ x = i then minkowskiMatrix (Sum.inr j) (Sum.inr j) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ x = i then -(minkowskiMatrix (Sum.inr j) (Sum.inr j) * γ β)
else if Sum.inr x = Sum.inr j then -minkowskiMatrix (Sum.inr j) (Sum.inr j) else 0
else 0) =
1 (Sum.inr j) k
rw [minkowskiMatrix.inr_i_inr_i, d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
∑ x,
if k = Sum.inl 0 ∧ x = i then
-if Sum.inr j = Sum.inl 0 ∧ x = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ x = i then -(-1 * γ β * (γ β * β))
else if Sum.inr x = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ x = i then
if Sum.inr j = Sum.inl 0 ∧ x = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ x = i then -(-1 * γ β * γ β)
else if Sum.inr x = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr x = k then
if Sum.inr j = Sum.inl 0 ∧ x = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ x = i then -(-1 * γ β) else if Sum.inr x = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) kh₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ∀ b ∈ Finset.univ,
b ≠ j →
(if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β)
else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ j ∉ Finset.univ →
(if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
0 Finset.sum_eq_single j d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) kh₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ∀ b ∈ Finset.univ,
b ≠ j →
(if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β)
else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ j ∉ Finset.univ →
(if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
0 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) kh₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ∀ b ∈ Finset.univ,
b ≠ j →
(if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β)
else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ j ∉ Finset.univ →
(if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
0] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) kh₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ∀ b ∈ Finset.univ,
b ≠ j →
(if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β)
else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ j ∉ Finset.univ →
(if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
0
· d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k by_cases hj' : j = i pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) kneg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':¬j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k subst hj' pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k
match k with
| Sum.inl 0 => d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ((if Sum.inl 0 = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inl 0 = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inl 0 = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inl 0 = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inl 0)
simp only [Fin.isValue, ↓reduceIte, reduceCtorEq, neg_mul, one_mul, neg_neg, and_self,
and_true, ne_eq, not_false_eq_true, one_apply_ne] d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ γ β * β * γ β + -(γ β * (γ β * β)) = 0
ring All goals completed! 🐙
| Sum.inr k => d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin d⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inr k)
by_cases hk : k = j pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inr k)neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inr k)
· pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inr k) subst hk pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1k:Fin dhj:¬Sum.inr k = Sum.inl 0⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr k = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr k = Sum.inr k then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr k then -1 * γ β else 0
else
if Sum.inr k = Sum.inr k then
-if Sum.inr k = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr k = Sum.inr k then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr k then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr k = Sum.inl 0 then -1 * γ β
else if Sum.inr k = Sum.inr k then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr k then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ k = k then
-if Sum.inr k = Sum.inl 0 ∧ k = k then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr k = Sum.inr k ∧ k = k then -(-1 * γ β * (γ β * β))
else if Sum.inr k = Sum.inr k then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr k ∧ k = k then
if Sum.inr k = Sum.inl 0 ∧ k = k then -1 * (γ β * β) * γ β
else
if Sum.inr k = Sum.inr k ∧ k = k then -(-1 * γ β * γ β) else if Sum.inr k = Sum.inr k then -(-1 * γ β) else 0
else
if Sum.inr k = Sum.inr k then
if Sum.inr k = Sum.inl 0 ∧ k = k then -1 * (γ β * β)
else if Sum.inr k = Sum.inr k ∧ k = k then -(-1 * γ β) else if Sum.inr k = Sum.inr k then - -1 else 0
else 0) =
1 (Sum.inr k) (Sum.inr k)
simp only [Fin.isValue, reduceCtorEq, ↓reduceIte, neg_mul, one_mul, neg_neg, and_true,
and_self, one_apply_eq] pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1k:Fin dhj:¬Sum.inr k = Sum.inl 0⊢ -(γ β * β * (γ β * β)) + γ β * γ β = 1
linear_combination hγ All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) (Sum.inr k) rw [one_apply neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = Sum.inr k then 1 else 0 neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = Sum.inr k then 1 else 0]neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ ((if Sum.inr k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if Sum.inr k = Sum.inr j then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr j then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = Sum.inr k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if Sum.inr k = Sum.inl 0 ∧ j = j then
-if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr j ∧ j = j then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = Sum.inr k then
if Sum.inr j = Sum.inl 0 ∧ j = j then -1 * (γ β * β)
else if Sum.inr j = Sum.inr j ∧ j = j then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = Sum.inr k then 1 else 0
simp only [Fin.isValue, reduceCtorEq, ↓reduceIte, Sum.inr.injEq, hk, and_true, and_self,
neg_mul, one_mul, neg_neg, zero_add] neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ (if j = k then γ β else 0) = if j = k then 1 else 0
rw [if_neg (fun a => hk (id (Eq.symm a))), neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ 0 = if j = k then 1 else 0 All goals completed! 🐙 if_neg (fun a => hk (id (Eq.symm a))) neg d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0k:Fin dhk:¬k = j⊢ 0 = 0 All goals completed! 🐙] All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':¬j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
1 (Sum.inr j) k rw [one_apply neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':¬j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = k then 1 else 0 neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':¬j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = k then 1 else 0]neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0hj':¬j = i⊢ ((if k = Sum.inl 0 then
if Sum.inr j = Sum.inl 0 then -1 * γ β * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * γ β) else if Sum.inl 0 = Sum.inr j then -1 * γ β else 0
else
if k = Sum.inr i then
-if Sum.inr j = Sum.inl 0 then -1 * γ β * (γ β * β)
else
if Sum.inr j = Sum.inr i then -(-1 * (γ β * β) * (γ β * β))
else if Sum.inl 0 = Sum.inr j then -1 * (γ β * β) else 0
else
if Sum.inl 0 = k then
if Sum.inr j = Sum.inl 0 then -1 * γ β
else if Sum.inr j = Sum.inr i then -(-1 * (γ β * β)) else if Sum.inl 0 = Sum.inr j then -1 else 0
else 0) +
if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
if Sum.inr j = k then 1 else 0
simp [hj'] All goals completed! 🐙
· h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ ∀ b ∈ Finset.univ,
b ≠ j →
(if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β)
else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0 intro b _ hb h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ j⊢ (if k = Sum.inl 0 ∧ b = i then
-if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * (γ β * β))
else if Sum.inr b = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β) * γ β
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β * γ β) else if Sum.inr b = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr b = k then
if Sum.inr j = Sum.inl 0 ∧ b = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ b = i then -(-1 * γ β) else if Sum.inr b = Sum.inr j then - -1 else 0
else 0) =
0
simp only [Fin.isValue, reduceCtorEq, false_and, ↓reduceIte, Sum.inr.injEq, neg_mul,
one_mul, hb] h₀ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ j⊢ (if k = Sum.inl 0 ∧ b = i then -if j = i ∧ b = i then - -(γ β * (γ β * β)) else 0
else
if k = Sum.inr i ∧ b = i then if j = i ∧ b = i then - -(γ β * γ β) else 0
else if Sum.inr b = k then if j = i ∧ b = i then - -γ β else 0 else 0) =
0
match k with
| Sum.inl 0 => d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ j⊢ (if Sum.inl 0 = Sum.inl 0 ∧ b = i then -if j = i ∧ b = i then - -(γ β * (γ β * β)) else 0
else
if Sum.inl 0 = Sum.inr i ∧ b = i then if j = i ∧ b = i then - -(γ β * γ β) else 0
else if Sum.inr b = Sum.inl 0 then if j = i ∧ b = i then - -γ β else 0 else 0) =
0
simp only [Fin.isValue, true_and, neg_neg, reduceCtorEq, false_and, ↓reduceIte,
ite_eq_right_iff, neg_eq_zero, mul_eq_zero, or_self_left, and_imp] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ j⊢ b = i → j = i → b = i → γ β = 0 ∨ β = 0
intro h1 h2 d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jh1:b = ih2:j = i⊢ b = i → γ β = 0 ∨ β = 0
subst h1 h2 d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0a✝:j ∈ Finset.univhb:j ≠ j⊢ j = j → γ β = 0 ∨ β = 0
simp at hb All goals completed! 🐙
| Sum.inr k => d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ b = i then -if j = i ∧ b = i then - -(γ β * (γ β * β)) else 0
else
if Sum.inr k = Sum.inr i ∧ b = i then if j = i ∧ b = i then - -(γ β * γ β) else 0
else if Sum.inr b = Sum.inr k then if j = i ∧ b = i then - -γ β else 0 else 0) =
0
simp only [Fin.isValue, reduceCtorEq, false_and, ↓reduceIte, Sum.inr.injEq, neg_neg] d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin d⊢ (if k = i ∧ b = i then if j = i ∧ b = i then γ β * γ β else 0
else if b = k then if j = i ∧ b = i then γ β else 0 else 0) =
0
by_cases hb' : b = i pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin dhb':b = i⊢ (if k = i ∧ b = i then if j = i ∧ b = i then γ β * γ β else 0
else if b = k then if j = i ∧ b = i then γ β else 0 else 0) =
0neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin dhb':¬b = i⊢ (if k = i ∧ b = i then if j = i ∧ b = i then γ β * γ β else 0
else if b = k then if j = i ∧ b = i then γ β else 0 else 0) =
0
· pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin dhb':b = i⊢ (if k = i ∧ b = i then if j = i ∧ b = i then γ β * γ β else 0
else if b = k then if j = i ∧ b = i then γ β else 0 else 0) =
0 simp only [hb', and_true] pos d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin dhb':b = i⊢ (if k = i then if j = i then γ β * γ β else 0 else if i = k then if j = i then γ β else 0 else 0) = 0
subst hb' pos d:ℕΛ:↑(𝓛 d)β:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin d⊢ (if k = b then if j = b then γ β * γ β else 0 else if b = k then if j = b then γ β else 0 else 0) = 0
simp [Ne.symm hb] All goals completed! 🐙
· neg d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0b:Fin da✝:b ∈ Finset.univhb:b ≠ jk:Fin dhb':¬b = i⊢ (if k = i ∧ b = i then if j = i ∧ b = i then γ β * γ β else 0
else if b = k then if j = i ∧ b = i then γ β else 0 else 0) =
0 simp [hb'] All goals completed! 🐙
· h₁ d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dhγ:γ β ^ 2 - γ β ^ 2 * β ^ 2 = 1j:Fin dhj:¬Sum.inr j = Sum.inl 0⊢ j ∉ Finset.univ →
(if k = Sum.inl 0 ∧ j = i then
-if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * (γ β * β)
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * (γ β * β))
else if Sum.inr j = Sum.inr j then -(-1 * (γ β * β)) else 0
else
if k = Sum.inr i ∧ j = i then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β) * γ β
else
if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β * γ β) else if Sum.inr j = Sum.inr j then -(-1 * γ β) else 0
else
if Sum.inr j = k then
if Sum.inr j = Sum.inl 0 ∧ j = i then -1 * (γ β * β)
else if Sum.inr j = Sum.inr i ∧ j = i then -(-1 * γ β) else if Sum.inr j = Sum.inr j then - -1 else 0
else 0) =
0 simp All goals completed! 🐙@[simp]
lemma boost_transpose_eq_self (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
transpose (boost i β hβ) = boost i β hβ := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ transpose (boost i β hβ) = boost i β hβ
ext j k d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ↑(transpose (boost i β hβ)) j k = ↑(boost i β hβ) j k
simp [transpose, boost] d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (if j = Sum.inl 0 ∧ k = Sum.inl 0 then γ β
else
if j = Sum.inl 0 ∧ k = Sum.inr i then -(γ β * β)
else
if j = Sum.inr i ∧ k = Sum.inl 0 then -(γ β * β)
else if j = Sum.inr i ∧ k = Sum.inr i then γ β else if k = j then 1 else 0) =
if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ β
else
if k = Sum.inl 0 ∧ j = Sum.inr i then -(γ β * β)
else
if k = Sum.inr i ∧ j = Sum.inl 0 then -(γ β * β)
else if k = Sum.inr i ∧ j = Sum.inr i then γ β else if j = k then 1 else 0
match j, k with
| Sum.inl 0, Sum.inl 0 => d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ β
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -(γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inl 0 then -(γ β * β)
else if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = Sum.inl 0 then 1 else 0) =
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ β
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -(γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inl 0 then -(γ β * β)
else if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = Sum.inl 0 then 1 else 0 rfl All goals completed! 🐙
| Sum.inl 0, Sum.inr k => d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ (if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr k = Sum.inl 0 then γ β
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr k = Sum.inr i then -(γ β * β)
else
if Sum.inl 0 = Sum.inr i ∧ Sum.inr k = Sum.inl 0 then -(γ β * β)
else if Sum.inl 0 = Sum.inr i ∧ Sum.inr k = Sum.inr i then γ β else if Sum.inr k = Sum.inl 0 then 1 else 0) =
if Sum.inr k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ β
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then -(γ β * β)
else
if Sum.inr k = Sum.inr i ∧ Sum.inl 0 = Sum.inl 0 then -(γ β * β)
else if Sum.inr k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ β else if Sum.inl 0 = Sum.inr k then 1 else 0
simp All goals completed! 🐙
| Sum.inr i, Sum.inl 0 => d:ℕi✝:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin di:Fin d⊢ (if Sum.inr i = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ β
else
if Sum.inr i = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i✝ then -(γ β * β)
else
if Sum.inr i = Sum.inr i✝ ∧ Sum.inl 0 = Sum.inl 0 then -(γ β * β)
else if Sum.inr i = Sum.inr i✝ ∧ Sum.inl 0 = Sum.inr i✝ then γ β else if Sum.inl 0 = Sum.inr i then 1 else 0) =
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr i = Sum.inl 0 then γ β
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr i = Sum.inr i✝ then -(γ β * β)
else
if Sum.inl 0 = Sum.inr i✝ ∧ Sum.inr i = Sum.inl 0 then -(γ β * β)
else if Sum.inl 0 = Sum.inr i✝ ∧ Sum.inr i = Sum.inr i✝ then γ β else if Sum.inr i = Sum.inl 0 then 1 else 0
simp All goals completed! 🐙
| Sum.inr j, Sum.inr k => d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (if Sum.inr j = Sum.inl 0 ∧ Sum.inr k = Sum.inl 0 then γ β
else
if Sum.inr j = Sum.inl 0 ∧ Sum.inr k = Sum.inr i then -(γ β * β)
else
if Sum.inr j = Sum.inr i ∧ Sum.inr k = Sum.inl 0 then -(γ β * β)
else if Sum.inr j = Sum.inr i ∧ Sum.inr k = Sum.inr i then γ β else if Sum.inr k = Sum.inr j then 1 else 0) =
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inl 0 then γ β
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inr i then -(γ β * β)
else
if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inl 0 then -(γ β * β)
else if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inr i then γ β else if Sum.inr j = Sum.inr k then 1 else 0
simp only [Fin.isValue, reduceCtorEq, and_self, ↓reduceIte, Sum.inr.injEq, false_and,
and_false, and_comm (a := k = i), eq_comm (a := k) (b := j)] All goals completed! 🐙
@[simp]
lemma boost_transpose_matrix_eq_self (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
Matrix.transpose (boost i β hβ).1 = (boost i β hβ).1 := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ (↑(boost i β hβ))ᵀ = ↑(boost i β hβ)
rw [← transpose_val, d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(transpose (boost i β hβ)) = ↑(boost i β hβ) All goals completed! 🐙 boost_transpose_eq_self d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(boost i β hβ) = ↑(boost i β hβ) All goals completed! 🐙] All goals completed! 🐙
@[simp]
lemma boost_zero_eq_id (i : Fin d) : boost i 0 (by d:ℕΛ:↑(𝓛 d)i:Fin d⊢ |0| < 1 simp All goals completed! 🐙) = 1 := by d:ℕi:Fin d⊢ boost i 0 ⋯ = 1
ext j k d:ℕi:Fin dj:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ↑(boost i 0 ⋯) j k = ↑1 j k
simp only [boost, Fin.isValue, mul_zero, lorentzGroupIsGroup_one_coe] d:ℕi:Fin dj:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (if k = Sum.inl 0 ∧ j = Sum.inl 0 then γ 0
else
if k = Sum.inl 0 ∧ j = Sum.inr i then 0
else
if k = Sum.inr i ∧ j = Sum.inl 0 then 0
else if k = Sum.inr i ∧ j = Sum.inr i then γ 0 else if j = k then 1 else 0) =
1 j k
match j, k with
| Sum.inl 0, Sum.inl 0 => d:ℕi:Fin dj:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ (if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ 0
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then 0
else
if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inl 0 then 0
else if Sum.inl 0 = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ 0 else if Sum.inl 0 = Sum.inl 0 then 1 else 0) =
1 (Sum.inl 0) (Sum.inl 0) simp [γ] All goals completed! 🐙
| Sum.inl 0, Sum.inr k => d:ℕi:Fin dj:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inl 0 then γ 0
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inl 0 = Sum.inr i then 0
else
if Sum.inr k = Sum.inr i ∧ Sum.inl 0 = Sum.inl 0 then 0
else if Sum.inr k = Sum.inr i ∧ Sum.inl 0 = Sum.inr i then γ 0 else if Sum.inl 0 = Sum.inr k then 1 else 0) =
1 (Sum.inl 0) (Sum.inr k)
simp All goals completed! 🐙
| Sum.inr i, Sum.inl 0 => d:ℕi✝:Fin dj:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin di:Fin d⊢ (if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr i = Sum.inl 0 then γ 0
else
if Sum.inl 0 = Sum.inl 0 ∧ Sum.inr i = Sum.inr i✝ then 0
else
if Sum.inl 0 = Sum.inr i✝ ∧ Sum.inr i = Sum.inl 0 then 0
else if Sum.inl 0 = Sum.inr i✝ ∧ Sum.inr i = Sum.inr i✝ then γ 0 else if Sum.inr i = Sum.inl 0 then 1 else 0) =
1 (Sum.inr i) (Sum.inl 0)
simp All goals completed! 🐙
| Sum.inr j, Sum.inr k => d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inl 0 then γ 0
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inr i then 0
else
if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inl 0 then 0
else if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inr i then γ 0 else if Sum.inr j = Sum.inr k then 1 else 0) =
1 (Sum.inr j) (Sum.inr k)
rw [one_apply d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inl 0 then γ 0
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inr i then 0
else
if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inl 0 then 0
else if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inr i then γ 0 else if Sum.inr j = Sum.inr k then 1 else 0) =
if Sum.inr j = Sum.inr k then 1 else 0 d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inl 0 then γ 0
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inr i then 0
else
if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inl 0 then 0
else if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inr i then γ 0 else if Sum.inr j = Sum.inr k then 1 else 0) =
if Sum.inr j = Sum.inr k then 1 else 0] d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inl 0 then γ 0
else
if Sum.inr k = Sum.inl 0 ∧ Sum.inr j = Sum.inr i then 0
else
if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inl 0 then 0
else if Sum.inr k = Sum.inr i ∧ Sum.inr j = Sum.inr i then γ 0 else if Sum.inr j = Sum.inr k then 1 else 0) =
if Sum.inr j = Sum.inr k then 1 else 0
simp only [Fin.isValue, reduceCtorEq, and_self, ↓reduceIte, Sum.inr.injEq, false_and, and_false,
ite_eq_right_iff, and_imp] d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ k = i → j = i → γ 0 = if j = k then 1 else 0
intro h1 h2 d:ℕi:Fin dj✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh1:k = ih2:j = i⊢ γ 0 = if j = k then 1 else 0
subst h1 h2 d:ℕj✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ γ 0 = if j = j then 1 else 0
simp All goals completed! 🐙
lemma boost_inverse (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
(boost i β hβ)⁻¹ = boost i (-β) (by d:ℕΛ:↑(𝓛 d)i:Fin dβ:ℝhβ:|β| < 1⊢ |(-β)| < 1 simpa using hβ All goals completed! 🐙) := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ (boost i β hβ)⁻¹ = boost i (-β) ⋯
rw [inv_eq_dual d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ⟨minkowskiMatrix.dual ↑(boost i β hβ), ⋯⟩ = boost i (-β) ⋯ d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ⟨minkowskiMatrix.dual ↑(boost i β hβ), ⋯⟩ = boost i (-β) ⋯] d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ⟨minkowskiMatrix.dual ↑(boost i β hβ), ⋯⟩ = boost i (-β) ⋯
ext j k d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ ↑⟨minkowskiMatrix.dual ↑(boost i β hβ), ⋯⟩ j k = ↑(boost i (-β) ⋯) j k
simp only d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ minkowskiMatrix.dual (↑(boost i β hβ)) j k = ↑(boost i (-β) ⋯) j k
rw [minkowskiMatrix.dual_apply d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ minkowskiMatrix j j * ↑(boost i β hβ) k j * minkowskiMatrix k k = ↑(boost i (-β) ⋯) j k d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ minkowskiMatrix j j * ↑(boost i β hβ) k j * minkowskiMatrix k k = ↑(boost i (-β) ⋯) j k] d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ minkowskiMatrix j j * ↑(boost i β hβ) k j * minkowskiMatrix k k = ↑(boost i (-β) ⋯) j k
match j, k with
| Sum.inl 0, Sum.inl 0 => d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * ↑(boost i β hβ) (Sum.inl 0) (Sum.inl 0) *
minkowskiMatrix (Sum.inl 0) (Sum.inl 0) =
↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inl 0)
rw [minkowskiMatrix.inl_0_inl_0 d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inl 0) * 1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inl 0) d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inl 0) * 1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inl 0)] d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inl 0) * 1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inl 0)
simp [boost] All goals completed! 🐙
| Sum.inl 0, Sum.inr k => d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ minkowskiMatrix (Sum.inl 0) (Sum.inl 0) * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) *
minkowskiMatrix (Sum.inr k) (Sum.inr k) =
↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k)
rw [minkowskiMatrix.inl_0_inl_0, d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) * minkowskiMatrix (Sum.inr k) (Sum.inr k) =
↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k) d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) * -1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k) minkowskiMatrix.inr_i_inr_i d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) * -1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k) d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) * -1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k)] d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ 1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inl 0) * -1 = ↑(boost i (-β) ⋯) (Sum.inl 0) (Sum.inr k)
simp only [boost, Fin.isValue, neg_mul, reduceCtorEq, and_false, ↓reduceIte, Sum.inr.injEq,
true_and, and_self, false_and, mul_ite, mul_neg, one_mul, mul_zero, mul_one, neg_neg,
and_true, γ_neg] d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin d⊢ (-if k = i then -(γ β * β) else 0) = if k = i then γ β * β else 0
split isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin dh✝:k = i⊢ - -(γ β * β) = γ β * βisFalse d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin dh✝:¬k = i⊢ -0 = 0 <;> isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin dh✝:k = i⊢ - -(γ β * β) = γ β * βisFalse d:ℕi:Fin dβ:ℝhβ:|β| < 1j:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dk:Fin dh✝:¬k = i⊢ -0 = 0 simp All goals completed! 🐙
| Sum.inr j, Sum.inl 0 => d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ minkowskiMatrix (Sum.inr j) (Sum.inr j) * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) *
minkowskiMatrix (Sum.inl 0) (Sum.inl 0) =
↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0)
rw [minkowskiMatrix.inl_0_inl_0, d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ minkowskiMatrix (Sum.inr j) (Sum.inr j) * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) * 1 =
↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0) d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) * 1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0) minkowskiMatrix.inr_i_inr_i d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) * 1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0) d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) * 1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0)] d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk:Fin 1 ⊕ Fin dj:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) * 1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inl 0)
simp [boost] All goals completed! 🐙
| Sum.inr j, Sum.inr k => d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ minkowskiMatrix (Sum.inr j) (Sum.inr j) * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) *
minkowskiMatrix (Sum.inr k) (Sum.inr k) =
↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k)
rw [minkowskiMatrix.inr_i_inr_i, d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) * minkowskiMatrix (Sum.inr k) (Sum.inr k) =
↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k) d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) * -1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k) minkowskiMatrix.inr_i_inr_i d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) * -1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k) d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) * -1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k)] d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ -1 * ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) * -1 = ↑(boost i (-β) ⋯) (Sum.inr j) (Sum.inr k)
simp only [boost, Fin.isValue, neg_mul, reduceCtorEq, and_self, ↓reduceIte, Sum.inr.injEq,
false_and, and_false, mul_ite, one_mul, mul_one, mul_zero, mul_neg, neg_neg, γ_neg,
and_comm (a := k = i), eq_comm (a := k) (b := j)] d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin d⊢ (-if j = i ∧ k = i then -γ β else if j = k then -1 else 0) = if j = i ∧ k = i then γ β else if j = k then 1 else 0
split isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝:j = i ∧ k = i⊢ - -γ β = γ βisFalse d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝:¬(j = i ∧ k = i)⊢ (-if j = k then -1 else 0) = if j = k then 1 else 0 <;> [skip isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝:j = i ∧ k = i⊢ - -γ β = γ β; split isFalse.isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝¹:¬(j = i ∧ k = i)h✝:j = k⊢ - -1 = 1isFalse.isFalse d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝¹:¬(j = i ∧ k = i)h✝:¬j = k⊢ -0 = 0] <;> isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝:j = i ∧ k = i⊢ - -γ β = γ βisFalse.isTrue d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝¹:¬(j = i ∧ k = i)h✝:j = k⊢ - -1 = 1isFalse.isFalse d:ℕi:Fin dβ:ℝhβ:|β| < 1j✝:Fin 1 ⊕ Fin dk✝:Fin 1 ⊕ Fin dj:Fin dk:Fin dh✝¹:¬(j = i ∧ k = i)h✝:¬j = k⊢ -0 = 0 simp All goals completed! 🐙@[simp]
lemma boost_inl_0_inl_0 (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
(boost i β hβ).1 (Sum.inl 0) (Sum.inl 0) = γ β := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(boost i β hβ) (Sum.inl 0) (Sum.inl 0) = γ β
simp [boost] All goals completed! 🐙@[simp]
lemma boost_inr_self_inr_self (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
(boost i β hβ).1 (Sum.inr i) (Sum.inr i) = γ β := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(boost i β hβ) (Sum.inr i) (Sum.inr i) = γ β
simp [boost] All goals completed! 🐙@[simp]
lemma boost_inl_0_inr_self (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
(boost i β hβ).1 (Sum.inl 0) (Sum.inr i) = - γ β * β := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(boost i β hβ) (Sum.inl 0) (Sum.inr i) = -γ β * β
simp [boost] All goals completed! 🐙@[simp]
lemma boost_inr_self_inl_0 (i : Fin d) {β : ℝ} (hβ : |β| < 1) :
(boost i β hβ).1 (Sum.inr i) (Sum.inl 0) = - γ β * β := by d:ℕi:Fin dβ:ℝhβ:|β| < 1⊢ ↑(boost i β hβ) (Sum.inr i) (Sum.inl 0) = -γ β * β
simp [boost] All goals completed! 🐙lemma boost_inl_0_inr_other {i j : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inl 0) (Sum.inr j) = 0 := by d:ℕi:Fin dj:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inl 0) (Sum.inr j) = 0
simp [boost, hij] All goals completed! 🐙lemma boost_inr_other_inl_0 {i j : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inr j) (Sum.inl 0) = 0 := by d:ℕi:Fin dj:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr j) (Sum.inl 0) = 0
simp [boost, hij] All goals completed! 🐙lemma boost_inr_self_inr_other {i j : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inr i) (Sum.inr j) = 0 := by d:ℕi:Fin dj:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr i) (Sum.inr j) = 0
simp [boost, hij, Ne.symm hij] All goals completed! 🐙lemma boost_inr_other_inr_self {i j : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inr j) (Sum.inr i) = 0 := by d:ℕi:Fin dj:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr j) (Sum.inr i) = 0
simp [boost, hij] All goals completed! 🐙lemma boost_inr_other_inr {i j k : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inr j) (Sum.inr k) = if j = k then 1 else 0:= by d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr j) (Sum.inr k) = if j = k then 1 else 0
simp [boost, hij] All goals completed! 🐙
lemma boost_inr_inr_other {i j k : Fin d} {β : ℝ} (hβ : |β| < 1) (hij : j ≠ i) :
(boost i β hβ).1 (Sum.inr k) (Sum.inr j) = if j = k then 1 else 0:= by d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr k) (Sum.inr j) = if j = k then 1 else 0
rw [← boost_transpose_eq_self d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(transpose (boost i β hβ)) (Sum.inr k) (Sum.inr j) = if j = k then 1 else 0 d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(transpose (boost i β hβ)) (Sum.inr k) (Sum.inr j) = if j = k then 1 else 0] d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(transpose (boost i β hβ)) (Sum.inr k) (Sum.inr j) = if j = k then 1 else 0
simp only [transpose, transpose_apply] d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ ↑(boost i β hβ) (Sum.inr j) (Sum.inr k) = if j = k then 1 else 0
rw [boost_inr_other_inr d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ (if j = k then 1 else 0) = if j = k then 1 else 0hij d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ j ≠ i hij d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ j ≠ i]hij d:ℕi:Fin dj:Fin dk:Fin dβ:ℝhβ:|β| < 1hij:j ≠ i⊢ j ≠ i
exact hij All goals completed! 🐙Properties of boosts in the zero-direction
@[simp]
lemma boost_zero_inl_0_inr_succ {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : Fin d) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inl 0) (Sum.inr i.succ) = 0 :=
boost_inl_0_inr_other hβ (Fin.succ_ne_zero i)@[simp]
lemma boost_zero_inr_succ_inl_0{d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : Fin d) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr i.succ) (Sum.inl 0) = 0 :=
boost_inr_other_inl_0 hβ (Fin.succ_ne_zero i)@[simp]
lemma boost_zero_inl_0_inr_nat_succ {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : ℕ) (h : i + 1 < d + 1) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inl 0) (Sum.inr ⟨i + 1, h⟩) = 0 :=
boost_inl_0_inr_other hβ (Fin.ne_of_val_ne (Nat.succ_ne_zero i))@[simp]
lemma boost_zero_inr_nat_succ_inl_0 {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : ℕ) (h : i + 1 < d + 1) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr ⟨i + 1, h⟩) (Sum.inl 0) = 0 :=
boost_inr_other_inl_0 hβ (Fin.ne_of_val_ne (Nat.succ_ne_zero i))@[simp]
lemma boost_zero_inr_0_inr_succ {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : Fin d) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr 0) (Sum.inr i.succ) = 0 :=
boost_inr_self_inr_other hβ (Fin.succ_ne_zero i)@[simp]
lemma boost_zero_inr_succ_inr_0 {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : Fin d) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr i.succ) (Sum.inr 0) = 0 :=
boost_inr_other_inr_self hβ (Fin.succ_ne_zero i)@[simp]
lemma boost_zero_inr_0_inr_nat_succ {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : ℕ) (h : i + 1 < d + 1) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr 0) (Sum.inr ⟨i + 1, h⟩) = 0 :=
boost_inr_self_inr_other hβ (Fin.ne_of_val_ne (Nat.succ_ne_zero i))@[simp]
lemma boost_zero_inr_nat_succ_inr_0 {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i : ℕ) (h : i + 1 < d + 1) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr ⟨i + 1, h⟩) (Sum.inr 0) = 0 :=
boost_inr_other_inr_self hβ (Fin.ne_of_val_ne (Nat.succ_ne_zero i))
lemma boost_zero_inr_succ_inr_succ {d : ℕ} {β : ℝ} (hβ : |β| < 1) (i1 i2 : Fin d) :
(boost (0 : Fin d.succ) β hβ).1 (Sum.inr i1.succ) (Sum.inr i2.succ) =
if i1 = i2 then 1 else 0 := by d:ℕβ:ℝhβ:|β| < 1i1:Fin di2:Fin d⊢ ↑(boost 0 β hβ) (Sum.inr i1.succ) (Sum.inr i2.succ) = if i1 = i2 then 1 else 0
rw [boost_inr_inr_other hβ (Fin.succ_ne_zero i2) d:ℕβ:ℝhβ:|β| < 1i1:Fin di2:Fin d⊢ (if i2.succ = i1.succ then 1 else 0) = if i1 = i2 then 1 else 0 d:ℕβ:ℝhβ:|β| < 1i1:Fin di2:Fin d⊢ (if i2.succ = i1.succ then 1 else 0) = if i1 = i2 then 1 else 0] d:ℕβ:ℝhβ:|β| < 1i1:Fin di2:Fin d⊢ (if i2.succ = i1.succ then 1 else 0) = if i1 = i2 then 1 else 0
simp [Fin.succ_inj, eq_comm] All goals completed! 🐙