Imports
/-
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
module
public import Physlib.Particles.FlavorPhysics.CKMMatrix.RelationsPhase freedom of the CKM Matrix
The CKM matrix is only defined up to an equivalence. This leads to a freedom to shift the phases of the matrices elements of the CKM matrix.
In this file we define two sets of conditions on the CKM matrices
fstRowThdColRealCond which we show can be satisfied by any CKM matrix up to equivalence
and ubOnePhaseCond which we show can be satisfied by any CKM matrix up to equivalence as long as
the ub element as absolute value 1.
@[expose] public sectionu:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + d = -(↑V 0 0).arg⊢ ↑‖↑V 0 0‖ = ↑(VudAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_us_phase_zero {V : CKMMatrix} (h1 : u + s = - arg [V]us) :
[phaseShiftApply V u c t d s b]us = VusAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑(phaseShiftApply V u c t d s b) 0 1 = ↑(VusAbs ⟦V⟧)
rw [phaseShiftApply.us u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ cexp (↑u * I + ↑s * I) * ↑V 0 1 = ↑(VusAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ cexp (↑u * I + ↑s * I) * ↑V 0 1 = ↑(VusAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ cexp (↑u * I + ↑s * I) * ↑V 0 1 = ↑(VusAbs ⟦V⟧)
conv_lhs => rw [← norm_mul_exp_arg_mul_I [V]us] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg| cexp (↑u * I + ↑s * I) * (↑‖↑V 0 1‖ * cexp (↑(↑V 0 1).arg * I))
rw [mul_left_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * (cexp (↑u * I + ↑s * I) * cexp (↑(↑V 0 1).arg * I)) = ↑(VusAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * cexp (↑u * I + ↑s * I + ↑(↑V 0 1).arg * I) = ↑(VusAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * cexp (↑u * I + ↑s * I + ↑(↑V 0 1).arg * I) = ↑(VusAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * cexp (↑u * I + ↑s * I + ↑(↑V 0 1).arg * I) = ↑(VusAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * cexp (↑u * I + ↑s * I + ↑(↑V 0 1).arg * I) = ↑(VusAbs ⟦V⟧)
rw [show (u : ℂ) * I + s * I + arg [V]us * I = 0 from by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑u * I + ↑s * I + ↑(↑V 0 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧)
have hc : (u : ℂ) + s + arg [V]us = 0 := by
exact_mod_cast (show u + s + arg [V]us = (0 : ℝ) by linarith All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arghc:↑u + ↑s + ↑(↑V 0 1).arg = 0⊢ ↑u * I + ↑s * I + ↑(↑V 0 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧)) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arghc:↑u + ↑s + ↑(↑V 0 1).arg = 0⊢ ↑u * I + ↑s * I + ↑(↑V 0 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧)
linear_combination hc * I All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧), exp_zero, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ * 1 = ↑(VusAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧) mul_one u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + s = -(↑V 0 1).arg⊢ ↑‖↑V 0 1‖ = ↑(VusAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_ub_phase_zero {V : CKMMatrix} (h1 : u + b = - arg [V]ub) :
[phaseShiftApply V u c t d s b]ub = VubAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑(phaseShiftApply V u c t d s b) 0 2 = ↑(VubAbs ⟦V⟧)
rw [phaseShiftApply.ub u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ cexp (↑u * I + ↑b * I) * ↑V 0 2 = ↑(VubAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ cexp (↑u * I + ↑b * I) * ↑V 0 2 = ↑(VubAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ cexp (↑u * I + ↑b * I) * ↑V 0 2 = ↑(VubAbs ⟦V⟧)
conv_lhs => rw [← norm_mul_exp_arg_mul_I [V]ub] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg| cexp (↑u * I + ↑b * I) * (↑‖↑V 0 2‖ * cexp (↑(↑V 0 2).arg * I))
rw [mul_left_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * (cexp (↑u * I + ↑b * I) * cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * cexp (↑u * I + ↑b * I + ↑(↑V 0 2).arg * I) = ↑(VubAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * cexp (↑u * I + ↑b * I + ↑(↑V 0 2).arg * I) = ↑(VubAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * cexp (↑u * I + ↑b * I + ↑(↑V 0 2).arg * I) = ↑(VubAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * cexp (↑u * I + ↑b * I + ↑(↑V 0 2).arg * I) = ↑(VubAbs ⟦V⟧)
rw [show (u : ℂ) * I + b * I + arg [V]ub * I = 0 from by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑u * I + ↑b * I + ↑(↑V 0 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧)
have hc : (u : ℂ) + b + arg [V]ub = 0 := by
exact_mod_cast (show u + b + arg [V]ub = (0 : ℝ) by linarith All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arghc:↑u + ↑b + ↑(↑V 0 2).arg = 0⊢ ↑u * I + ↑b * I + ↑(↑V 0 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧)) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arghc:↑u + ↑b + ↑(↑V 0 2).arg = 0⊢ ↑u * I + ↑b * I + ↑(↑V 0 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧)
linear_combination hc * I All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧), exp_zero, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ * 1 = ↑(VubAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧) mul_one u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:u + b = -(↑V 0 2).arg⊢ ↑‖↑V 0 2‖ = ↑(VubAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_cs_phase_zero {V : CKMMatrix} (h1 : c + s = - arg [V]cs) :
[phaseShiftApply V u c t d s b]cs = VcsAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑(phaseShiftApply V u c t d s b) 1 1 = ↑(VcsAbs ⟦V⟧)
rw [phaseShiftApply.cs u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ cexp (↑c * I + ↑s * I) * ↑V 1 1 = ↑(VcsAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ cexp (↑c * I + ↑s * I) * ↑V 1 1 = ↑(VcsAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ cexp (↑c * I + ↑s * I) * ↑V 1 1 = ↑(VcsAbs ⟦V⟧)
conv_lhs => rw [← norm_mul_exp_arg_mul_I [V]cs] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg| cexp (↑c * I + ↑s * I) * (↑‖↑V 1 1‖ * cexp (↑(↑V 1 1).arg * I))
rw [mul_left_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * (cexp (↑c * I + ↑s * I) * cexp (↑(↑V 1 1).arg * I)) = ↑(VcsAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * cexp (↑c * I + ↑s * I + ↑(↑V 1 1).arg * I) = ↑(VcsAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * cexp (↑c * I + ↑s * I + ↑(↑V 1 1).arg * I) = ↑(VcsAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * cexp (↑c * I + ↑s * I + ↑(↑V 1 1).arg * I) = ↑(VcsAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * cexp (↑c * I + ↑s * I + ↑(↑V 1 1).arg * I) = ↑(VcsAbs ⟦V⟧)
rw [show (c : ℂ) * I + s * I + arg [V]cs * I = 0 from by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑c * I + ↑s * I + ↑(↑V 1 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧)
have hc : (c : ℂ) + s + arg [V]cs = 0 := by
exact_mod_cast (show c + s + arg [V]cs = (0 : ℝ) by linarith All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arghc:↑c + ↑s + ↑(↑V 1 1).arg = 0⊢ ↑c * I + ↑s * I + ↑(↑V 1 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧)) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arghc:↑c + ↑s + ↑(↑V 1 1).arg = 0⊢ ↑c * I + ↑s * I + ↑(↑V 1 1).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧)
linear_combination hc * I All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧), exp_zero, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ * 1 = ↑(VcsAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧) mul_one u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + s = -(↑V 1 1).arg⊢ ↑‖↑V 1 1‖ = ↑(VcsAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_cb_phase_zero {V : CKMMatrix} (h1 : c + b = - arg [V]cb) :
[phaseShiftApply V u c t d s b]cb = VcbAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑(phaseShiftApply V u c t d s b) 1 2 = ↑(VcbAbs ⟦V⟧)
rw [phaseShiftApply.cb u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ cexp (↑c * I + ↑b * I) * ↑V 1 2 = ↑(VcbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ cexp (↑c * I + ↑b * I) * ↑V 1 2 = ↑(VcbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ cexp (↑c * I + ↑b * I) * ↑V 1 2 = ↑(VcbAbs ⟦V⟧)
conv_lhs => rw [← norm_mul_exp_arg_mul_I [V]cb] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg| cexp (↑c * I + ↑b * I) * (↑‖↑V 1 2‖ * cexp (↑(↑V 1 2).arg * I))
rw [mul_left_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * (cexp (↑c * I + ↑b * I) * cexp (↑(↑V 1 2).arg * I)) = ↑(VcbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * cexp (↑c * I + ↑b * I + ↑(↑V 1 2).arg * I) = ↑(VcbAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * cexp (↑c * I + ↑b * I + ↑(↑V 1 2).arg * I) = ↑(VcbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * cexp (↑c * I + ↑b * I + ↑(↑V 1 2).arg * I) = ↑(VcbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * cexp (↑c * I + ↑b * I + ↑(↑V 1 2).arg * I) = ↑(VcbAbs ⟦V⟧)
rw [show (c : ℂ) * I + b * I + arg [V]cb * I = 0 from by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑c * I + ↑b * I + ↑(↑V 1 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧)
have hc : (c : ℂ) + b + arg [V]cb = 0 := by
exact_mod_cast (show c + b + arg [V]cb = (0 : ℝ) by linarith All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arghc:↑c + ↑b + ↑(↑V 1 2).arg = 0⊢ ↑c * I + ↑b * I + ↑(↑V 1 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧)) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arghc:↑c + ↑b + ↑(↑V 1 2).arg = 0⊢ ↑c * I + ↑b * I + ↑(↑V 1 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧)
linear_combination hc * I All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧), exp_zero, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ * 1 = ↑(VcbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧) mul_one u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + b = -(↑V 1 2).arg⊢ ↑‖↑V 1 2‖ = ↑(VcbAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_tb_phase_zero {V : CKMMatrix} (h1 : t + b = - arg [V]tb) :
[phaseShiftApply V u c t d s b]tb = VtbAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑(phaseShiftApply V u c t d s b) 2 2 = ↑(VtbAbs ⟦V⟧)
rw [phaseShiftApply.tb u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 = ↑(VtbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 = ↑(VtbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 = ↑(VtbAbs ⟦V⟧)
conv_lhs => rw [← norm_mul_exp_arg_mul_I [V]tb] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg| cexp (↑t * I + ↑b * I) * (↑‖↑V 2 2‖ * cexp (↑(↑V 2 2).arg * I))
rw [mul_left_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * (cexp (↑t * I + ↑b * I) * cexp (↑(↑V 2 2).arg * I)) = ↑(VtbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * cexp (↑t * I + ↑b * I + ↑(↑V 2 2).arg * I) = ↑(VtbAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * cexp (↑t * I + ↑b * I + ↑(↑V 2 2).arg * I) = ↑(VtbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * cexp (↑t * I + ↑b * I + ↑(↑V 2 2).arg * I) = ↑(VtbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * cexp (↑t * I + ↑b * I + ↑(↑V 2 2).arg * I) = ↑(VtbAbs ⟦V⟧)
rw [show (t : ℂ) * I + b * I + arg [V]tb * I = 0 from by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑t * I + ↑b * I + ↑(↑V 2 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧)
have hc : (t : ℂ) + b + arg [V]tb = 0 := by
exact_mod_cast (show t + b + arg [V]tb = (0 : ℝ) by linarith All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arghc:↑t + ↑b + ↑(↑V 2 2).arg = 0⊢ ↑t * I + ↑b * I + ↑(↑V 2 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧)) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arghc:↑t + ↑b + ↑(↑V 2 2).arg = 0⊢ ↑t * I + ↑b * I + ↑(↑V 2 2).arg * I = 0 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧)
linear_combination hc * I All goals completed! 🐙 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧), exp_zero, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ * 1 = ↑(VtbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧) mul_one u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:t + b = -(↑V 2 2).arg⊢ ↑‖↑V 2 2‖ = ↑(VtbAbs ⟦V⟧)
rfl All goals completed! 🐙
lemma shift_cd_phase_pi {V : CKMMatrix} (h1 : c + d = Real.pi - arg [V]cd) :
[phaseShiftApply V u c t d s b]cd = - VcdAbs ⟦V⟧ := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑(phaseShiftApply V u c t d s b) 1 0 = -↑(VcdAbs ⟦V⟧)
rw [phaseShiftApply.cd u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * ↑V 1 0 = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * ↑V 1 0 = -↑(VcdAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * ↑V 1 0 = -↑(VcdAbs ⟦V⟧)
rw [← norm_mul_exp_arg_mul_I [V]cd u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * (↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I)) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * (↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I)) = -↑(VcdAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ cexp (↑c * I + ↑d * I) * (↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I)) = -↑(VcdAbs ⟦V⟧)
rw [mul_comm, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I) * cexp (↑c * I + ↑d * I) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧) mul_assoc, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * (cexp (↑(↑V 1 0).arg * I) * cexp (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧) ← exp_add u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧)
have h2 : ↑(arg [V]cd) * I + (↑c * I + ↑d * I) = ↑(arg [V]cd + (c + d)) * I := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑(phaseShiftApply V u c t d s b) 1 0 = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧)
simp only [Fin.isValue, ofReal_add] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).arg⊢ ↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = (↑(↑V 1 0).arg + (↑c + ↑d)) * I u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧)
ring u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑(↑V 1 0).arg * I + (↑c * I + ↑d * I)) = -↑(VcdAbs ⟦V⟧)
rw [h2, u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑((↑V 1 0).arg + (c + d)) * I) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑((↑V 1 0).arg + (Real.pi - (↑V 1 0).arg)) * I) = -↑(VcdAbs ⟦V⟧) h1 u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑((↑V 1 0).arg + (Real.pi - (↑V 1 0).arg)) * I) = -↑(VcdAbs ⟦V⟧) u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑((↑V 1 0).arg + (Real.pi - (↑V 1 0).arg)) * I) = -↑(VcdAbs ⟦V⟧)] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ↑‖↑V 1 0‖ * cexp (↑((↑V 1 0).arg + (Real.pi - (↑V 1 0).arg)) * I) = -↑(VcdAbs ⟦V⟧)
simp only [Fin.isValue, add_sub_cancel, exp_pi_mul_I, mul_neg, mul_one, VcdAbs, neg_inj,
ofReal_inj] u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixh1:c + d = Real.pi - (↑V 1 0).argh2:↑(↑V 1 0).arg * I + (↑c * I + ↑d * I) = ↑((↑V 1 0).arg + (c + d)) * I⊢ ‖↑V 1 0‖ = VAbs 1 0 ⟦V⟧
rfl All goals completed! 🐙
lemma shift_cross_product_phase_zero {V : CKMMatrix} {τ : ℝ}
(hτ : cexp (τ * I) • (conj [V]u ⨯₃ conj [V]c) = [V]t) (h1 : τ = - u - c - t - d - s - b) :
[phaseShiftApply V u c t d s b]t =
conj [phaseShiftApply V u c t d s b]u ⨯₃ conj [phaseShiftApply V u c t d s b]c := by u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t =
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [phaseShiftApply V u c t d s b]u))
((starRingEnd (Fin 3 → ℂ)) [phaseShiftApply V u c t d s b]c)
change _ = phaseShiftApply.ucCross _ _ _ _ _ _ _ u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t = phaseShiftApply.ucCross V u c t d s b
funext i u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bi:Fin 3⊢ [phaseShiftApply V u c t d s b]t i = phaseShiftApply.ucCross V u c t d s b i
fin_cases i «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨0, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨0, ⋯⟩)«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨1, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨1, ⋯⟩)«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨2, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨2, ⋯⟩)
· «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨0, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨0, ⋯⟩) simp only [Fin.zero_eta, Fin.isValue] «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 0 = phaseShiftApply.ucCross V u c t d s b 0
rw [phaseShiftApply.ucCross_fst «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 0 =
cexp (-↑u * I + -↑c * I + -↑s * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 0 =
cexp (-↑u * I + -↑c * I + -↑s * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0] «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 0 =
cexp (-↑u * I + -↑c * I + -↑s * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
simp only [tRow, Fin.isValue, phaseShiftApply.td, phaseShiftApply_coe, cons_val_zero, neg_mul] «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ cexp (↑t * I + ↑d * I) * ↑V 2 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
have hτ0 := congrFun hτ 0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:(cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)) 0 = [V]t 0⊢ cexp (↑t * I + ↑d * I) * ↑V 2 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
simp only [Fin.isValue, Pi.smul_apply, smul_eq_mul, tRow, cons_val_zero] at hτ0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I) * ↑V 2 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
rw [← hτ0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0) =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0) =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0]«0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0) =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
rw [← mul_assoc, «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I) * cexp (↑τ * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 ← exp_add, «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0«0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 h1 «0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0«0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0]«0» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ cexp (↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0
congr 2 «0».e_a u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ ↑t * I + ↑d * I + ↑(-u - c - t - d - s - b) * I = -(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)
simp only [ofReal_sub, ofReal_neg] «0».e_a u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 0 = ↑V 2 0⊢ ↑t * I + ↑d * I + (-↑u - ↑c - ↑t - ↑d - ↑s - ↑b) * I = -(↑u * I) + -(↑c * I) + -(↑s * I) + -(↑b * I)
ring All goals completed! 🐙
· «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨1, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨1, ⋯⟩) simp only [Fin.mk_one, Fin.isValue] «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 1 = phaseShiftApply.ucCross V u c t d s b 1
rw [phaseShiftApply.ucCross_snd «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 1 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 1 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1]«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 1 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑b * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
simp only [tRow, Fin.isValue, phaseShiftApply_coe, phaseShiftApply.ts, cons_val_one,
neg_mul] «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ ![cexp (↑t * I + ↑s * I) * ↑V 2 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
have hτ0 := congrFun hτ 1 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:(cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)) 1 = [V]t 1⊢ ![cexp (↑t * I + ↑s * I) * ↑V 2 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
simp only [Fin.isValue, Pi.smul_apply, smul_eq_mul, tRow, cons_val_one, cons_val_zero] at hτ0 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I) * ↑V 2 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
rw [← hτ0 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1),
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1),
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1]«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1),
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
rw [← mul_assoc, «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I) * cexp (↑τ * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 ← exp_add, «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 h1 «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1]«1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
simp only [ofReal_sub, ofReal_neg] «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ ![cexp (↑t * I + ↑s * I + (-↑u - ↑c - ↑t - ↑d - ↑s - ↑b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1,
(![![cexp (I * ↑u), 0, 0], ![0, cexp (I * ↑c), 0], ![0, 0, cexp (I * ↑t)]] * ↑V *
![![cexp (I * ↑d), 0, 0], ![0, cexp (I * ↑s), 0], ![0, 0, cexp (I * ↑b)]])
2 2]
0 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1
simp only [Fin.isValue, cons_val_zero, mul_eq_mul_right_iff] «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ cexp (↑t * I + ↑s * I + (-↑u - ↑c - ↑t - ↑d - ↑s - ↑b) * I) = cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I)) ∨
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = 0
left «1» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 1 = ↑V 2 1⊢ cexp (↑t * I + ↑s * I + (-↑u - ↑c - ↑t - ↑d - ↑s - ↑b) * I) = cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑b * I))
ring_nf All goals completed! 🐙
· «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t ((fun i => i) ⟨2, ⋯⟩) = phaseShiftApply.ucCross V u c t d s b ((fun i => i) ⟨2, ⋯⟩) simp only [Fin.reduceFinMk, Fin.isValue] «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 2 = phaseShiftApply.ucCross V u c t d s b 2
rw [phaseShiftApply.ucCross_thd «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 2 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑s * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 2 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑s * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2]«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ [phaseShiftApply V u c t d s b]t 2 =
cexp (-↑u * I + -↑c * I + -↑d * I + -↑s * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2
simp only [tRow, Fin.isValue, phaseShiftApply_coe, phaseShiftApply.tb, cons_val_two,
Nat.succ_eq_add_one, Nat.reduceAdd, tail_cons, head_cons, neg_mul] «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - b⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2
have hτ0 := congrFun hτ 2 «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:(cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)) 2 = [V]t 2⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2
simp only [Fin.isValue, Pi.smul_apply, smul_eq_mul, tRow, cons_val_two, Nat.succ_eq_add_one,
Nat.reduceAdd, tail_cons, head_cons] at hτ0 «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I) * ↑V 2 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2
rw [← hτ0, «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I) *
(cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2) =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 ← mul_assoc, «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I) * cexp (↑τ * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 ← exp_add, «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 h1 «2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2]«2» u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ cexp (↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 =
cexp (-(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)) *
(crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2
congr 2 «2».e_a u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ ↑t * I + ↑b * I + ↑(-u - c - t - d - s - b) * I = -(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)
simp only [ofReal_sub, ofReal_neg] «2».e_a u:ℝc:ℝt:ℝd:ℝs:ℝb:ℝV:CKMMatrixτ:ℝhτ:cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) = [V]th1:τ = -u - c - t - d - s - bhτ0:cexp (↑τ * I) * (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) 2 = ↑V 2 2⊢ ↑t * I + ↑b * I + (-↑u - ↑c - ↑t - ↑d - ↑s - ↑b) * I = -(↑u * I) + -(↑c * I) + -(↑d * I) + -(↑s * I)
ring All goals completed! 🐙
A proposition which is satisfied by a CKM matrix if its ud, us, cb and tb elements
are positive and real, and there is no phase difference between the tth-row and
the cross product of the conjugates of the uth and cth rows.
def FstRowThdColRealCond (U : CKMMatrix) : Prop := [U]ud = VudAbs ⟦U⟧ ∧ [U]us = VusAbs ⟦U⟧
∧ [U]cb = VcbAbs ⟦U⟧ ∧ [U]tb = VtbAbs ⟦U⟧ ∧ [U]t = conj [U]u ⨯₃ conj [U]c
A proposition which is satisfied by a CKM matrix ub is one, ud, us and cb are zero,
there is no phase difference between the tth-row and
the cross product of the conjugates of the uth and cth rows, and the cdth and csth
elements are real and related in a set way.
def ubOnePhaseCond (U : CKMMatrix) : Prop :=
[U]ud = 0 ∧ [U]us = 0 ∧ [U]cb = 0 ∧ [U]ub = 1 ∧ [U]t = conj [U]u ⨯₃ conj [U]c
∧ [U]cd = - VcdAbs ⟦U⟧ ∧ [U]cs = √(1 - VcdAbs ⟦U⟧ ^ 2)
lemma fstRowThdColRealCond_shift_solution {V : CKMMatrix} (h1 : a + d = - arg [V]ud)
(h2 : a + e = - arg [V]us) (h3 : b + f = - arg [V]cb)
(h4 : c + f = - arg [V]tb) (h5 : τ = - a - b - c - d - e - f) :
b = - τ + arg [V]ud + arg [V]us + arg [V]tb + a ∧
c = - τ + arg [V]cb + arg [V]ud + arg [V]us + a ∧
d = - arg [V]ud - a ∧
e = - arg [V]us - a ∧
f = τ - arg [V]ud - arg [V]us - arg [V]cb - arg [V]tb - a := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
have hd : d = - arg [V]ud - a := by
linear_combination h1 a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - fhd:d = -(↑V 0 0).arg - a⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - fhd:d = -(↑V 0 0).arg - a⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
subst hd a:ℝb:ℝc:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh1:a + (-(↑V 0 0).arg - a) = -(↑V 0 0).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
-(↑V 0 0).arg - a = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
have he : e = - arg [V]us - a := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh1:a + (-(↑V 0 0).arg - a) = -(↑V 0 0).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - e - fhe:e = -(↑V 0 1).arg - a⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
-(↑V 0 0).arg - a = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
linear_combination h2 a:ℝb:ℝc:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh1:a + (-(↑V 0 0).arg - a) = -(↑V 0 0).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - e - fhe:e = -(↑V 0 1).arg - a⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
-(↑V 0 0).arg - a = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh1:a + (-(↑V 0 0).arg - a) = -(↑V 0 0).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - e - fhe:e = -(↑V 0 1).arg - a⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
-(↑V 0 0).arg - a = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
subst he a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh1:a + (-(↑V 0 0).arg - a) = -(↑V 0 0).argh2:a + (-(↑V 0 1).arg - a) = -(↑V 0 1).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
-(↑V 0 0).arg - a = -(↑V 0 0).arg - a ∧
-(↑V 0 1).arg - a = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a
simp_all only [add_sub_cancel, neg_sub, true_and] a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
have hbf : b = - arg [V]cb - f := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
linear_combination h3 a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
have hcf : c = - arg [V]tb - f := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
linear_combination h4 a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
rw [hbf, a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - (-(↑V 1 2).arg - f) - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a hcf a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a] at h5 a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ b = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = f - (-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
f =
-a - b - c - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg -
(↑V 2 2).arg -
a
simp_all only [sub_add_cancel] a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh5:τ = -a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - fhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - f⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
ring_nf at h5 a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - fh5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
have hf : f = τ - a - arg [V]ud - arg [V]us - arg [V]cb - arg [V]tb := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝτ:ℝV:CKMMatrixh1:a + d = -(↑V 0 0).argh2:a + e = -(↑V 0 1).argh3:b + f = -(↑V 1 2).argh4:c + f = -(↑V 2 2).argh5:τ = -a - b - c - d - e - f⊢ b = -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + a ∧
c = -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + a ∧
d = -(↑V 0 0).arg - a ∧
e = -(↑V 0 1).arg - a ∧ f = τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg - a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - fh5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
linear_combination - (1 * h5) a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - fh5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - fhcf:c = -(↑V 2 2).arg - fh5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
rw [hf a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hcf:c = -(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)h5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hcf:c = -(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)h5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a] at hbf hcf a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixhbf:b = -(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hcf:c = -(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)h5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
ring_nf at hbf hcf a:ℝb:ℝc:ℝf:ℝτ:ℝV:CKMMatrixh5:τ = a + (↑V 1 2).arg + f + (↑V 2 2).arg + (↑V 0 0).arg + (↑V 0 1).arghf:f = τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arghbf:b = -τ + a + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arghcf:c = (↑V 1 2).arg - τ + a + (↑V 0 0).arg + (↑V 0 1).arg⊢ -(↑V 1 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - f =
f - (-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a)) + (↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
f =
-a - (-(↑V 1 2).arg - f) - (-(↑V 2 2).arg - f) - (-(↑V 0 0).arg - a) - (-(↑V 0 1).arg - a) - f - (↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
subst hf hbf hcf a:ℝτ:ℝV:CKMMatrixh5:τ =
a + (↑V 1 2).arg + (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) + (↑V 2 2).arg + (↑V 0 0).arg +
(↑V 0 1).arg⊢ -(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) =
τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg -
(-a - (-(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 0 0).arg - a) -
(-(↑V 0 1).arg - a)) +
(↑V 0 0).arg +
(↑V 0 1).arg +
(↑V 2 2).arg +
a ∧
-(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) =
τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg -
(-a - (-(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 0 0).arg - a) -
(-(↑V 0 1).arg - a)) +
(↑V 1 2).arg +
(↑V 0 0).arg +
(↑V 0 1).arg +
a ∧
τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg =
-a - (-(↑V 1 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 2 2).arg - (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)) -
(-(↑V 0 0).arg - a) -
(-(↑V 0 1).arg - a) -
(τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) -
(↑V 0 0).arg -
(↑V 0 1).arg -
(↑V 1 2).arg -
(↑V 2 2).arg -
a
ring_nf a:ℝτ:ℝV:CKMMatrixh5:τ =
a + (↑V 1 2).arg + (τ - a - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) + (↑V 2 2).arg + (↑V 0 0).arg +
(↑V 0 1).arg⊢ True ∧ True ∧ True
simp All goals completed! 🐙
lemma ubOnePhaseCond_shift_solution {V : CKMMatrix} (h1 : a + f = - arg [V]ub)
(h2 : 0 = - a - b - c - d - e - f)
(h3 : b + d = Real.pi - arg [V]cd) (h5 : b + e = - arg [V]cs) :
c = - Real.pi + arg [V]cd + arg [V]cs + arg [V]ub + b ∧
d = Real.pi - arg [V]cd - b ∧
e = - arg [V]cs - b ∧
f = - arg [V]ub - a := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arg⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a
have hf : f = - arg [V]ub - a := by
linear_combination h1 a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arghf:f = -(↑V 0 2).arg - a⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arghf:f = -(↑V 0 2).arg - a⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a
subst hf a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
have he : e = - arg [V]cs - b := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arg⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
linear_combination h5 a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
have hd : d = Real.pi - arg [V]cd - b := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arg⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - bhd:d = Real.pi - (↑V 1 0).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
linear_combination h3 a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - bhd:d = Real.pi - (↑V 1 0).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝd:ℝe:ℝV:CKMMatrixh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).argh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh2:0 = -a - b - c - d - e - (-(↑V 0 2).arg - a)he:e = -(↑V 1 1).arg - bhd:d = Real.pi - (↑V 1 0).arg - b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
subst he hd a:ℝb:ℝc:ℝV:CKMMatrixh1:a + (-(↑V 0 2).arg - a) = -(↑V 0 2).argh5:b + (-(↑V 1 1).arg - b) = -(↑V 1 1).argh3:b + (Real.pi - (↑V 1 0).arg - b) = Real.pi - (↑V 1 0).argh2:0 = -a - b - c - (Real.pi - (↑V 1 0).arg - b) - (-(↑V 1 1).arg - b) - (-(↑V 0 2).arg - a)⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
Real.pi - (↑V 1 0).arg - b = Real.pi - (↑V 1 0).arg - b ∧
-(↑V 1 1).arg - b = -(↑V 1 1).arg - b ∧ -(↑V 0 2).arg - a = -(↑V 0 2).arg - a
simp_all only [add_sub_cancel, and_self, and_true] a:ℝb:ℝc:ℝV:CKMMatrixh2:0 = -a - b - c - (Real.pi - (↑V 1 0).arg - b) - (-(↑V 1 1).arg - b) - (-(↑V 0 2).arg - a)⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b
ring_nf at h2 a:ℝb:ℝc:ℝV:CKMMatrixh2:0 = b - c - Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b
have hc : c = - Real.pi + arg [V]cd + arg [V]cs + arg [V]ub + b := by a:ℝb:ℝc:ℝd:ℝe:ℝf:ℝV:CKMMatrixh1:a + f = -(↑V 0 2).argh2:0 = -a - b - c - d - e - fh3:b + d = Real.pi - (↑V 1 0).argh5:b + e = -(↑V 1 1).arg⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b ∧
d = Real.pi - (↑V 1 0).arg - b ∧ e = -(↑V 1 1).arg - b ∧ f = -(↑V 0 2).arg - a a:ℝb:ℝc:ℝV:CKMMatrixh2:0 = b - c - Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arghc:c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b
linear_combination h2 a:ℝb:ℝc:ℝV:CKMMatrixh2:0 = b - c - Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arghc:c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b a:ℝb:ℝc:ℝV:CKMMatrixh2:0 = b - c - Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arghc:c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b⊢ c = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b
subst hc a:ℝb:ℝV:CKMMatrixh2:0 =
b - (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b) - Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg⊢ -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b = -Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg + b
rfl All goals completed! 🐙
lemma fstRowThdColRealCond_holds_up_to_equiv (V : CKMMatrix) :
∃ (U : CKMMatrix), V ≈ U ∧ FstRowThdColRealCond U:= by V:CKMMatrix⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
obtain ⟨τ, hτ⟩ := V.uRow_cross_cRow_eq_tRow V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
let U : CKMMatrix := phaseShiftApply V
0
(- τ + arg [V]ud + arg [V]us + arg [V]tb)
(- τ + arg [V]cb + arg [V]ud + arg [V]us)
(- arg [V]ud)
(- arg [V]us)
(τ - arg [V]ud - arg [V]us - arg [V]cb - arg [V]tb) V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
have hUV : Quotient.mk CKMMatrixSetoid U = ⟦V⟧ := by
simp only [Quotient.eq] V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)⊢ CKMMatrixSetoid U V V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
symm V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)⊢ V ≈ U V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
exact phaseShiftApply.equiv _ _ _ _ _ _ _ V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ∃ U, V ≈ U ∧ U.FstRowThdColRealCond
use U h V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.FstRowThdColRealCond
apply And.intro h.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ Uh.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ U.FstRowThdColRealCond
· h.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U exact phaseShiftApply.equiv _ _ _ _ _ _ _ All goals completed! 🐙
· h.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ U.FstRowThdColRealCond apply And.intro h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = ↑(VudAbs ⟦U⟧)h.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦U⟧) ∧
↑U 1 2 = ↑(VcbAbs ⟦U⟧) ∧
↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
· h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = ↑(VudAbs ⟦U⟧) rw [hUV h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = ↑(VudAbs ⟦V⟧) h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = ↑(VudAbs ⟦V⟧)]h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = ↑(VudAbs ⟦V⟧)
apply shift_ud_phase_zero _ _ _ _ _ _ _ h.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ 0 + -(↑V 0 0).arg = -(↑V 0 0).arg
ring All goals completed! 🐙
· h.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦U⟧) ∧
↑U 1 2 = ↑(VcbAbs ⟦U⟧) ∧
↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) apply And.intro h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦U⟧)h.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦U⟧) ∧
↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
· h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦U⟧) rw [hUV h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦V⟧) h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦V⟧)]h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = ↑(VusAbs ⟦V⟧)
apply shift_us_phase_zero h.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ 0 + -(↑V 0 1).arg = -(↑V 0 1).arg
ring All goals completed! 🐙
· h.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦U⟧) ∧
↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) apply And.intro h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦U⟧)h.right.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
· h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦U⟧) rw [hUV h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦V⟧) h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦V⟧)]h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = ↑(VcbAbs ⟦V⟧)
apply shift_cb_phase_zero h.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ -τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg + (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) =
-(↑V 1 2).arg
ring All goals completed! 🐙
· h.right.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦U⟧) ∧ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) apply And.intro h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦U⟧)h.right.right.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
· h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦U⟧) rw [hUV h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦V⟧) h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦V⟧)]h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 2 2 = ↑(VtbAbs ⟦V⟧)
apply shift_tb_phase_zero h.right.right.right.right.left V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ -τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg + (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg) =
-(↑V 2 2).arg
ring All goals completed! 🐙
· h.right.right.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) apply shift_cross_product_phase_zero _ _ _ _ _ _ hτ.symm h.right.right.right.right.right V:CKMMatrixτ:ℝhτ:[V]t = cexp (↑τ * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)U:CKMMatrix :=
phaseShiftApply V 0 (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg)
(-(↑V 0 0).arg) (-(↑V 0 1).arg) (τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ τ =
-0 - (-τ + (↑V 0 0).arg + (↑V 0 1).arg + (↑V 2 2).arg) - (-τ + (↑V 1 2).arg + (↑V 0 0).arg + (↑V 0 1).arg) -
-(↑V 0 0).arg -
-(↑V 0 1).arg -
(τ - (↑V 0 0).arg - (↑V 0 1).arg - (↑V 1 2).arg - (↑V 2 2).arg)
ring All goals completed! 🐙
lemma ubOnePhaseCond_hold_up_to_equiv_of_ub_one {V : CKMMatrix} (hb : ¬ ([V]ud ≠ 0 ∨ [V]us ≠ 0))
(hV : FstRowThdColRealCond V) :
∃ (U : CKMMatrix), V ≈ U ∧ ubOnePhaseCond U:= by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond
let U : CKMMatrix := phaseShiftApply V 0 0 (- Real.pi + arg [V]cd + arg [V]cs + arg [V]ub)
(Real.pi - arg [V]cd) (- arg [V]cs) (- arg [V]ub) V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond
use U h V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)⊢ V ≈ U ∧ U.ubOnePhaseCond
have hUV : Quotient.mk CKMMatrixSetoid U= ⟦V⟧ := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.ubOnePhaseCond
simp only [Quotient.eq] V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)⊢ CKMMatrixSetoid U V h V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.ubOnePhaseCond
symm V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)⊢ V ≈ Uh V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.ubOnePhaseCond
exact phaseShiftApply.equiv _ _ _ _ _ _ _h V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.ubOnePhaseCondh V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U ∧ U.ubOnePhaseCond
apply And.intro h.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ Uh.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ U.ubOnePhaseCond
· h.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ V ≈ U exact phaseShiftApply.equiv _ _ _ _ _ _ _ All goals completed! 🐙
· h.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ U.ubOnePhaseCond apply And.intro h.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = 0h.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = 0 ∧
↑U 1 2 = 0 ∧
↑U 0 2 = 1 ∧
[U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) ∧
↑U 1 0 = -↑(VcdAbs ⟦U⟧) ∧ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 0 = 0 simp only [Fin.isValue, ne_eq, not_or, Decidable.not_not] at hb h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ ↑U 0 0 = 0
have h1 : VudAbs ⟦U⟧ = 0 := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VudAbs ⟦U⟧ = 0⊢ ↑U 0 0 = 0
rw [hUV V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VudAbs ⟦V⟧ = 0 V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VudAbs ⟦V⟧ = 0h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VudAbs ⟦U⟧ = 0⊢ ↑U 0 0 = 0] V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VudAbs ⟦V⟧ = 0h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VudAbs ⟦U⟧ = 0⊢ ↑U 0 0 = 0
simp [VAbs, hb]h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VudAbs ⟦U⟧ = 0⊢ ↑U 0 0 = 0h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VudAbs ⟦U⟧ = 0⊢ ↑U 0 0 = 0
simp only [VudAbs, VAbs, VAbs', Fin.isValue, Quotient.lift_mk, norm_eq_zero] at h1 h.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:↑U 0 0 = 0⊢ ↑U 0 0 = 0
exact h1 All goals completed! 🐙
apply And.intro h.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = 0h.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = 0 ∧
↑U 0 2 = 1 ∧
[U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) ∧
↑U 1 0 = -↑(VcdAbs ⟦U⟧) ∧ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 1 = 0 simp only [Fin.isValue, ne_eq, not_or, Decidable.not_not] at hb h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ ↑U 0 1 = 0
have h1 : VusAbs ⟦U⟧ = 0 := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VusAbs ⟦U⟧ = 0⊢ ↑U 0 1 = 0
rw [hUV V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VusAbs ⟦V⟧ = 0 V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VusAbs ⟦V⟧ = 0h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VusAbs ⟦U⟧ = 0⊢ ↑U 0 1 = 0] V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ VusAbs ⟦V⟧ = 0h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VusAbs ⟦U⟧ = 0⊢ ↑U 0 1 = 0
simp [VAbs, hb]h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VusAbs ⟦U⟧ = 0⊢ ↑U 0 1 = 0h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:VusAbs ⟦U⟧ = 0⊢ ↑U 0 1 = 0
simp only [VusAbs, VAbs, VAbs', Fin.isValue, Quotient.lift_mk, norm_eq_zero] at h1 h.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h1:↑U 0 1 = 0⊢ ↑U 0 1 = 0
exact h1 All goals completed! 🐙
apply And.intro h.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = 0h.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 2 = 1 ∧
[U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) ∧
↑U 1 0 = -↑(VcdAbs ⟦U⟧) ∧ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 2 = 0 simp only [Fin.isValue, ne_eq, not_or, Decidable.not_not] at hb h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0⊢ ↑U 1 2 = 0
have h3 := cb_eq_zero_of_ud_us_zero hb h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0⊢ ↑U 1 2 = 0
have h1 : VcbAbs ⟦U⟧ = 0 := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:VcbAbs ⟦U⟧ = 0⊢ ↑U 1 2 = 0
rw [hUV V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0⊢ VcbAbs ⟦V⟧ = 0 V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0⊢ VcbAbs ⟦V⟧ = 0h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:VcbAbs ⟦U⟧ = 0⊢ ↑U 1 2 = 0] V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0⊢ VcbAbs ⟦V⟧ = 0h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:VcbAbs ⟦U⟧ = 0⊢ ↑U 1 2 = 0
simp [VAbs, h3]h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:VcbAbs ⟦U⟧ = 0⊢ ↑U 1 2 = 0h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:VcbAbs ⟦U⟧ = 0⊢ ↑U 1 2 = 0
simp only [VcbAbs, VAbs, VAbs', Fin.isValue, Quotient.lift_mk, norm_eq_zero] at h1 h.right.right.right.left V:CKMMatrixhV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0h3:↑V 1 2 = 0h1:↑U 1 2 = 0⊢ ↑U 1 2 = 0
exact h1 All goals completed! 🐙
apply And.intro h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 2 = 1h.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) ∧
↑U 1 0 = -↑(VcdAbs ⟦U⟧) ∧ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 0 2 = 1 have hU1 : [U]ub = VubAbs ⟦V⟧ := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑U 0 2 = 1
apply shift_ub_phase_zero _ _ _ _ _ _ _ V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ 0 + -(↑V 0 2).arg = -(↑V 0 2).argh.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑U 0 2 = 1
ringh.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑U 0 2 = 1h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑U 0 2 = 1
rw [hU1 h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑(VubAbs ⟦V⟧) = 1 h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑(VubAbs ⟦V⟧) = 1]h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)⊢ ↑(VubAbs ⟦V⟧) = 1
have h1:= (ud_us_ne_zero_iff_ub_ne_one V).mpr.mt hb h.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VubAbs ⟦V⟧)h1:¬‖↑V 0 2‖ ≠ 1⊢ ↑(VubAbs ⟦V⟧) = 1
simp_all only [Fin.isValue, ne_eq, not_or, Decidable.not_not, VubAbs, ofReal_eq_one] h.right.right.right.right.left V:CKMMatrixU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hb:↑V 0 0 = 0 ∧ ↑V 0 1 = 0hV:V.FstRowThdColRealCondhUV:⟦U⟧ = ⟦V⟧hU1:↑U 0 2 = ↑(VAbs 0 2 ⟦V⟧)h1:‖↑V 0 2‖ = 1⊢ VAbs 0 2 ⟦V⟧ = 1
exact h1 All goals completed! 🐙
apply And.intro h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)h.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦U⟧) ∧ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c) have hτ : [V]t = cexp ((0 : ℝ) * I) • (conj ([V]u) ⨯₃ conj ([V]c)) := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
simp only [ofReal_zero, zero_mul, exp_zero, one_smul] V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ [V]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
exact hV.2.2.2.2h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ [U]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [U]u)) ((starRingEnd (Fin 3 → ℂ)) [U]c)
apply shift_cross_product_phase_zero _ _ _ _ _ _ hτ.symm h.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ 0 =
-0 - 0 - (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) - (Real.pi - (↑V 1 0).arg) - -(↑V 1 1).arg -
-(↑V 0 2).arg
ring All goals completed! 🐙
apply And.intro h.right.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦U⟧)h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
· h.right.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦U⟧) rw [hUV h.right.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦V⟧) h.right.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦V⟧)]h.right.right.right.right.right.right.left V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 0 = -↑(VcdAbs ⟦V⟧)
apply shift_cd_phase_pi _ _ _ _ _ _ _ V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ 0 + (Real.pi - (↑V 1 0).arg) = Real.pi - (↑V 1 0).arg
ring All goals completed! 🐙
have hcs : [U]cs = VcsAbs ⟦U⟧ := by V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCond⊢ ∃ U, V ≈ U ∧ U.ubOnePhaseCond h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
rw [hUV V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 1 = ↑(VcsAbs ⟦V⟧) V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 1 = ↑(VcsAbs ⟦V⟧)h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)] V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ ↑U 1 1 = ↑(VcsAbs ⟦V⟧)h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
apply shift_cs_phase_zero _ _ _ _ _ _ _ V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧⊢ 0 + -(↑V 1 1).arg = -(↑V 1 1).argh.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
ringh.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑U 1 1 = ↑√(1 - VcdAbs ⟦U⟧ ^ 2)
rw [hcs, h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑(VcsAbs ⟦U⟧) = ↑√(1 - VcdAbs ⟦U⟧ ^ 2) All goals completed! 🐙 hUV, h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑(VcsAbs ⟦V⟧) = ↑√(1 - VcdAbs ⟦V⟧ ^ 2) All goals completed! 🐙 cs_of_ud_us_zero hb h.right.right.right.right.right.right.right V:CKMMatrixhb:¬(↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0)hV:V.FstRowThdColRealCondU:CKMMatrix :=
phaseShiftApply V 0 0 (-Real.pi + (↑V 1 0).arg + (↑V 1 1).arg + (↑V 0 2).arg) (Real.pi - (↑V 1 0).arg) (-(↑V 1 1).arg)
(-(↑V 0 2).arg)hUV:⟦U⟧ = ⟦V⟧hcs:↑U 1 1 = ↑(VcsAbs ⟦U⟧)⊢ ↑√(1 - VcdAbs ⟦V⟧ ^ 2) = ↑√(1 - VcdAbs ⟦V⟧ ^ 2) All goals completed! 🐙] All goals completed! 🐙
lemma cd_of_fstRowThdColRealCond {V : CKMMatrix} (hb : [V]ud ≠ 0 ∨ [V]us ≠ 0)
(hV : FstRowThdColRealCond V) :
[V]cd = (- VtbAbs ⟦V⟧ * VusAbs ⟦V⟧ / (VudAbs ⟦V⟧ ^2 + VusAbs ⟦V⟧ ^2)) +
(- VubAbs ⟦V⟧ * VudAbs ⟦V⟧ * VcbAbs ⟦V⟧ / (VudAbs ⟦V⟧ ^2 + VusAbs ⟦V⟧ ^2))
* cexp (- arg [V]ub * I) := by V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ ↑V 1 0 =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
have hτ : [V]t = cexp ((0 : ℝ) * I) • (conj ([V]u) ⨯₃ conj ([V]c)) := by
simp only [ofReal_zero, zero_mul, exp_zero, one_smul] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ [V]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 0 =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
exact hV.2.2.2.2 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 0 =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 0 =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
rw [cd_of_ud_us_ub_cb_tb hb hτ V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑V 0 0 * ↑V 1 2 + cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) (↑V 0 1)) /
(↑(normSq (↑V 0 0)) + ↑(normSq (↑V 0 1))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑V 0 0 * ↑V 1 2 + cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) (↑V 0 1)) /
(↑(normSq (↑V 0 0)) + ↑(normSq (↑V 0 1))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑V 0 0 * ↑V 1 2 + cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) (↑V 0 1)) /
(↑(normSq (↑V 0 0)) + ↑(normSq (↑V 0 1))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
rw [hV.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑V 1 2 +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) (↑V 0 1)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq (↑V 0 1))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑V 1 2 +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.2.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.2.2.1 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ -((starRingEnd ℂ) (↑V 0 2) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VusAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
simp only [Fin.isValue, VudAbs, VcbAbs, ofReal_zero, zero_mul, exp_zero, VtbAbs, conj_ofReal,
one_mul, VusAbs, neg_add_rev, normSq_ofReal, ofReal_mul, neg_mul, sq, VubAbs] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) =
-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) / (↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) *
cexp (-(↑(↑V 0 2).arg * I))
have hx := Vabs_sq_add_ne_zero hb V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) =
-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) / (↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) *
cexp (-(↑(↑V 0 2).arg * I))
field_simp V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
have h1 : conj [V]ub = VubAbs ⟦V⟧ * cexp (- arg [V]ub * I) := by V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ ↑V 1 0 =
-↑(VtbAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
nth_rewrite 1 [← norm_mul_exp_arg_mul_I [V]ub] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) (↑‖↑V 0 2‖ * cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
rw [@RingHom.map_mul V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
simp [conj_ofReal, ← exp_conj, VAbs] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) + -((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
rw [h1 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(-(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
ring_nf All goals completed! 🐙
lemma cs_of_fstRowThdColRealCond {V : CKMMatrix} (hb : [V]ud ≠ 0 ∨ [V]us ≠ 0)
(hV : FstRowThdColRealCond V) :
[V]cs = (VtbAbs ⟦V⟧ * VudAbs ⟦V⟧ / (VudAbs ⟦V⟧ ^2 + VusAbs ⟦V⟧ ^2))
+ (- VubAbs ⟦V⟧ * VusAbs ⟦V⟧ * VcbAbs ⟦V⟧/ (VudAbs ⟦V⟧ ^2 + VusAbs ⟦V⟧ ^2))
* cexp (- arg [V]ub * I) := by V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ ↑V 1 1 =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
have hτ : [V]t = cexp ((0 : ℝ) * I) • (conj ([V]u) ⨯₃ conj ([V]c)) := by
simp only [ofReal_zero, zero_mul, exp_zero, one_smul] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ [V]t = (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 1 =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
exact hV.2.2.2.2 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 1 =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ ↑V 1 1 =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
rw [cs_of_ud_us_ub_cb_tb hb hτ, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑V 0 1 * ↑V 1 2 + cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) (↑V 0 0)) /
(↑(normSq (↑V 0 0)) + ↑(normSq (↑V 0 1))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑V 0 1 * ↑V 1 2 +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq (↑V 0 1))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑V 1 2 +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.2.1, V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) (↑V 2 2) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) hV.2.2.2.1 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-(starRingEnd ℂ) (↑V 0 2) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) +
cexp (↑0 * I) * (starRingEnd ℂ) ↑(VtbAbs ⟦V⟧) * (starRingEnd ℂ) ↑(VudAbs ⟦V⟧)) /
(↑(normSq ↑(VudAbs ⟦V⟧)) + ↑(normSq ↑(VusAbs ⟦V⟧))) =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I)
simp only [Fin.isValue, VusAbs, neg_mul, VcbAbs, ofReal_zero, zero_mul, exp_zero, VtbAbs,
conj_ofReal, one_mul, VudAbs, normSq_ofReal, ofReal_mul, sq, VubAbs] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) =
↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) / (↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) *
cexp (-(↑(↑V 0 2).arg * I))
have hx := Vabs_sq_add_ne_zero hb V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) =
↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) / (↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) +
-(↑(VAbs 0 2 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) + ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 0 1 ⟦V⟧)) *
cexp (-(↑(↑V 0 2).arg * I))
field_simp V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
have h1 : conj [V]ub = VubAbs ⟦V⟧ * cexp (- arg [V]ub * I) := by V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCond⊢ ↑V 1 1 =
↑(VtbAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) +
-↑(VubAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) * ↑(VcbAbs ⟦V⟧) / (↑(VudAbs ⟦V⟧) ^ 2 + ↑(VusAbs ⟦V⟧) ^ 2) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
nth_rewrite 1 [← norm_mul_exp_arg_mul_I [V]ub] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) (↑‖↑V 0 2‖ * cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
rw [@RingHom.map_mul V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0⊢ (starRingEnd ℂ) ↑‖↑V 0 2‖ * (starRingEnd ℂ) (cexp (↑(↑V 0 2).arg * I)) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
simp only [Fin.isValue, conj_ofReal, ← exp_conj, _root_.map_mul, conj_I, mul_neg, VubAbs, VAbs,
VAbs', Quotient.lift_mk, neg_mul] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-((starRingEnd ℂ) (↑V 0 2) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
rw [h1 V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)] V:CKMMatrixhb:↑V 0 0 ≠ 0 ∨ ↑V 0 1 ≠ 0hV:V.FstRowThdColRealCondhτ:[V]t = cexp (↑0 * I) • (crossProduct ((starRingEnd (Fin 3 → ℂ)) [V]u)) ((starRingEnd (Fin 3 → ℂ)) [V]c)hx:↑(VudAbs ⟦V⟧) * ↑(VudAbs ⟦V⟧) + ↑(VusAbs ⟦V⟧) * ↑(VusAbs ⟦V⟧) ≠ 0h1:(starRingEnd ℂ) (↑V 0 2) = ↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I)⊢ (-(↑(VubAbs ⟦V⟧) * cexp (-↑(↑V 0 2).arg * I) * ↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧)) + ↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧)) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2) =
(↑(VAbs 2 2 ⟦V⟧) * ↑(VAbs 0 0 ⟦V⟧) +
-(↑(VAbs 0 1 ⟦V⟧) * ↑(VAbs 1 2 ⟦V⟧) * ↑(VAbs 0 2 ⟦V⟧) * cexp (-(↑(↑V 0 2).arg * I)))) /
(↑(VAbs 0 0 ⟦V⟧) ^ 2 + ↑(VAbs 0 1 ⟦V⟧) ^ 2)
ring_nf All goals completed! 🐙