Imports
/-
Copyright (c) 2026 Nathaneal Sajan. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Nathaneal Sajan
-/
module
public import Physlib.Particles.StandardModel.Basic
public import Physlib.Relativity.Tensors.ComplexTensor.BasicDown-type singlets
i. Overview
The Standard Model down-type singlet is a right-handed Weyl spinor in the (3, 1)_{-2}
representation. Here charges are normalized as 6Y, so -2 is the usual hypercharge
Y = -1/3.
DownSinglet is the target vector space of one down-type quark multiplet. Its Weyl factor
carries the Lorentz index and its three-dimensional factor carries the colour index. The absence
of a weak factor makes it an SU(2) singlet.
The Lorentz and gauge actions are first defined separately. The gauge action is then computed on a basis, used to identify its kernel, and descended to each supported global form of the Standard Model gauge group.
ii. Key results
DownSinglet : the target space of the (3, 1)_{-2} multiplet.
repLorentzGroup : the right-handed Lorentz action.
repGaugeGroupI : the action of the unquotiented gauge group.
repGaugeGroupI_tmul_basis_eq_sum : the gauge action in a tensor-product basis.
mem_repGaugeGroupI_ker_iff_eq : the kernel of the full-group action.
gaugeGroup_subgroup_ℤ₆_le_ker_repGaugeGroupI : triviality of the central ℤ₆.
repGaugeGroup : the action descended to every supported gauge-group quotient.
iii. Table of contents
A. The down-singlet space
B. Linear structure
C. Lorentz action
D. Gauge action
E. Kernel of the gauge action
F. Descent to quotient gauge groups
@[expose] public sectionA. The down-singlet space
The Weyl factor carries the right-handed Lorentz index, while
EuclideanSpace ℂ (Fin 3) carries the colour index.
The target vector space of one Standard Model down-type singlet quark.
It carries the (3, 1)_{-2} representation of the gauge group.
The right-handed Weyl spinor with its colour index.
@[ext]
structure DownSinglet where val : Fermion.RightHandedWeyl ⊗[ℂ] EuclideanSpace ℂ (Fin 3)B. Linear structure
DownSinglet wraps its tensor-product carrier as a distinct type. The equivalences below identify
the two types and transport the additive and complex module structures to DownSinglet.
Identifies a down-type singlet with its underlying tensor-product value.
def valEquiv : DownSinglet ≃ Fermion.RightHandedWeyl ⊗[ℂ] EuclideanSpace ℂ (Fin 3) where
toFun := val
invFun := fun m => ⟨m⟩instance : AddCommGroup DownSinglet := Equiv.addCommGroup valEquivinstance : Module ℂ DownSinglet := Equiv.module ℂ valEquivThe linear identification with the underlying tensor product.
def valLinEquiv : DownSinglet ≃ₗ[ℂ]
Fermion.RightHandedWeyl ⊗[ℂ] EuclideanSpace ℂ (Fin 3) where
toFun := val
invFun := fun m => ⟨m⟩
map_add' := ⊢ ∀ (x y : DownSinglet), (x + y).val = x.val + y.val x✝:DownSinglety✝:DownSinglet⊢ (x✝ + y✝).val = x✝.val + y✝.val; All goals completed! 🐙
map_smul' := ⊢ ∀ (m : ℂ) (x : DownSinglet), (m • x).val = (RingHom.id ℂ) m • x.val m✝:ℂx✝:DownSinglet⊢ (m✝ • x✝).val = (RingHom.id ℂ) m✝ • x✝.val; All goals completed! 🐙@[simp]
lemma valLinEquiv_apply (d : DownSinglet) : valLinEquiv d = d.val := rfllemma valLinEquiv_symm_apply
(m : Fermion.RightHandedWeyl ⊗[ℂ] EuclideanSpace ℂ (Fin 3)) :
valLinEquiv.symm m = ⟨m⟩ := rfl@[simp]
lemma val_add (d₁ d₂ : DownSinglet) : (d₁ + d₂).val = d₁.val + d₂.val := rfl@[simp]
lemma val_smul (r : ℂ) (d : DownSinglet) : (r • d).val = r • d.val := rflC. Lorentz action
The Lorentz group acts on the right-handed Weyl factor and leaves the colour index fixed.
D. Gauge action
The SU(3) component acts on the colour index, while the SU(2) component acts trivially. The
U(1) action is star z ^ 2; since z is unitary, star z = z⁻¹, so this represents charge
-2.
The tensor and basis formulas below expose the coefficients used to compare actions and compute the kernel.
The gauge action on a pure spinor–colour tensor.
lemma repGaugeGroupI_tmul (g : GaugeGroupI) (ψ : Fermion.RightHandedWeyl)
(v : EuclideanSpace ℂ (Fin 3)) :
repGaugeGroupI g ⟨ψ ⊗ₜ v⟩ =
⟨(star g.toU1.1 ^ 2) • ψ ⊗ₜ g.toSU3.1.toEuclideanLin v⟩ := rflE. Kernel of the gauge action
An element acts trivially when its colour action is scalar and that scalar cancels its U(1)
phase. Its weak component is unrestricted because the down-type singlet is an SU(2) singlet.
Characterizes the full-group elements acting trivially on the down-type singlet.
mp g:GaugeGroupIh:∀ (i i' : Fin 3),
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) i' i =
star ↑(GaugeGroupI.toU1 1) ^ 2 * ↑(GaugeGroupI.toSU3 1) i' ihc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0⊢ ∃ a, ↑(GaugeGroupI.toSU3 g) = a • 1 ∧ a * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1
use g.toSU3.1 0 0 h g:GaugeGroupIh:∀ (i i' : Fin 3),
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) i' i =
star ↑(GaugeGroupI.toU1 1) ^ 2 * ↑(GaugeGroupI.toSU3 1) i' ihc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0⊢ ↑(GaugeGroupI.toSU3 g) = ↑(GaugeGroupI.toSU3 g) 0 0 • 1 ∧
↑(GaugeGroupI.toSU3 g) 0 0 * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1
simp only [map_one, OneMemClass.coe_one, Fin.forall_fin_succ, Fin.isValue,
Fin.succ_zero_eq_one, IsEmpty.forall_iff, and_true, one_apply_eq, ne_eq,
one_ne_zero, not_false_eq_true, one_apply_ne, mul_eq_zero, zero_ne_one,
Fin.succ_one_eq_two, Fin.reduceEq, star_one, one_pow, one_mul] at h h g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) = ↑(GaugeGroupI.toSU3 g) 0 0 • 1 ∧
↑(GaugeGroupI.toSU3 g) 0 0 * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1
refine ⟨?_, ?_⟩ h.refine_1 g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) = ↑(GaugeGroupI.toSU3 g) 0 0 • 1h.refine_2 g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 0 0 * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1
· h.refine_1 g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) = ↑(GaugeGroupI.toSU3 g) 0 0 • 1 ext i j h.refine_1 g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1i:Fin 3j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) i j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) i j
fin_cases i h.refine_1.«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨0, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨0, ⋯⟩) jh.refine_1.«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨1, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨1, ⋯⟩) jh.refine_1.«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) j <;> h.refine_1.«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨0, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨0, ⋯⟩) jh.refine_1.«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨1, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨1, ⋯⟩) jh.refine_1.«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1j:Fin 3⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) j = (↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) j fin_cases j h.refine_1.«2».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩)h.refine_1.«2».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩)h.refine_1.«2».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) <;> h.refine_1.«0».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩)h.refine_1.«0».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩)h.refine_1.«0».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨0, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩)h.refine_1.«1».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩)h.refine_1.«1».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩)h.refine_1.«1».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨1, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩)h.refine_1.«2».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨0, ⋯⟩)h.refine_1.«2».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨1, ⋯⟩)h.refine_1.«2».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) =
(↑(GaugeGroupI.toSU3 g) 0 0 • 1) ((fun i => i) ⟨2, ⋯⟩) ((fun i => i) ⟨2, ⋯⟩) simp h.refine_1.«2».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 2 2 = ↑(GaugeGroupI.toSU3 g) 0 0 <;> h.refine_1.«0».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 0 1 = 0h.refine_1.«0».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 0 2 = 0h.refine_1.«1».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 1 0 = 0h.refine_1.«1».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 1 1 = ↑(GaugeGroupI.toSU3 g) 0 0h.refine_1.«1».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 1 2 = 0h.refine_1.«2».«0» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 2 0 = 0h.refine_1.«2».«1» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 2 1 = 0h.refine_1.«2».«2» g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 2 2 = ↑(GaugeGroupI.toSU3 g) 0 0 grind All goals completed! 🐙
· h.refine_2 g:GaugeGroupIhc:star ↑(GaugeGroupI.toU1 g) ^ 2 ≠ 0h:(star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 0 0 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 0 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 0 = 0)) ∧
((star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 1 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 1 1 = 1 ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 2 1 = 0)) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 0 2 = 0) ∧
(star ↑(GaugeGroupI.toU1 g) ^ 2 = 0 ∨ ↑(GaugeGroupI.toSU3 g) 1 2 = 0) ∧
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) 2 2 = 1⊢ ↑(GaugeGroupI.toSU3 g) 0 0 * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1 grind All goals completed! 🐙
· mpr g:GaugeGroupI⊢ (∃ a, ↑(GaugeGroupI.toSU3 g) = a • 1 ∧ a * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1) →
∀ (i i' : Fin 3),
star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) i' i =
star ↑(GaugeGroupI.toU1 1) ^ 2 * ↑(GaugeGroupI.toSU3 1) i' i rintro ⟨a, h₁, h₂⟩ i i' mpr g:GaugeGroupIa:ℂh₁:↑(GaugeGroupI.toSU3 g) = a • 1h₂:a * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1i:Fin 3i':Fin 3⊢ star ↑(GaugeGroupI.toU1 g) ^ 2 * ↑(GaugeGroupI.toSU3 g) i' i =
star ↑(GaugeGroupI.toU1 1) ^ 2 * ↑(GaugeGroupI.toSU3 1) i' i
simp only [Matrix.smul_apply, smul_eq_mul, h₁, map_one, OneMemClass.coe_one,
star_one, one_pow, one_mul] mpr g:GaugeGroupIa:ℂh₁:↑(GaugeGroupI.toSU3 g) = a • 1h₂:a * star ↑(GaugeGroupI.toU1 g) ^ 2 = 1i:Fin 3i':Fin 3⊢ star ↑(GaugeGroupI.toU1 g) ^ 2 * (a * 1 i' i) = 1 i' i
linear_combination h₂ * (1 : Matrix _ _ ℂ) i' i All goals completed! 🐙F. Descent to quotient gauge groups
A representation descends through a quotient when the quotient subgroup lies in its kernel. For
the central ℤ₆, the colour phase is x² while the charge -2 phase is (star x)² = x⁻², so
their product is one.
The central ℤ₆ subgroup acts trivially on (3, 1)_{-2}.
lemma gaugeGroup_subgroup_ℤ₆_le_ker_repGaugeGroupI :
GaugeGroupQuot.subgroup .ℤ₆ ≤ repGaugeGroupI.ker := by ⊢ GaugeGroupQuot.ℤ₆.subgroup ≤ MonoidHom.ker repGaugeGroupI
simp only [GaugeGroupQuot.subgroup, gaugeGroupℤ₆SubGroup, SetLike.le_def,
MonoidHom.mem_range, gaugeGroupℤ₆Hom_apply, Subtype.exists,
mem_repGaugeGroupI_ker_iff_eq, forall_exists_index] ⊢ ∀ ⦃x : GaugeGroupI⦄ (x_1 : ℂˣ) (x_2 : x_1 ∈ rootsOfUnity 6 ℂ),
gaugeGroupℤ₆OfRoot ⟨x_1, x_2⟩ = x → ∃ a, ↑(GaugeGroupI.toSU3 x) = a • 1 ∧ a * star ↑(GaugeGroupI.toU1 x) ^ 2 = 1
rintro g x hx ⟨rfl⟩ x:ℂˣhx:x ∈ rootsOfUnity 6 ℂ⊢ ∃ a,
↑(GaugeGroupI.toSU3 (gaugeGroupℤ₆OfRoot ⟨x, hx⟩)) = a • 1 ∧
a * star ↑(GaugeGroupI.toU1 (gaugeGroupℤ₆OfRoot ⟨x, hx⟩)) ^ 2 = 1
use x ^ 2 h x:ℂˣhx:x ∈ rootsOfUnity 6 ℂ⊢ ↑(GaugeGroupI.toSU3 (gaugeGroupℤ₆OfRoot ⟨x, hx⟩)) = ↑x ^ 2 • 1 ∧
↑x ^ 2 * star ↑(GaugeGroupI.toU1 (gaugeGroupℤ₆OfRoot ⟨x, hx⟩)) ^ 2 = 1
simp only [gaugeGroupℤ₆OfRoot_toSU3, gaugeGroupℤ₆SU3OfRoot_eq_mul_id,
gaugeGroupℤ₆OfRoot_toU1, gaugeGroupℤ₆UnitaryOfRoot_coe, true_and, RCLike.star_def,
Complex.conj_rootsOfUnity hx, Units.val_inv_eq_inv_val, inv_pow] h x:ℂˣhx:x ∈ rootsOfUnity 6 ℂ⊢ ↑x ^ 2 * (↑x ^ 2)⁻¹ = 1
field_simp All goals completed! 🐙Every supported quotient subgroup acts trivially on the down-type singlet.
lemma gaugeGroup_subgroup_le_ker_repGaugeGroupI (Q : GaugeGroupQuot) :
Q.subgroup ≤ repGaugeGroupI.ker := Q.subgroup_le_subgroup_ℤ₆.trans
gaugeGroup_subgroup_ℤ₆_le_ker_repGaugeGroupI