refactor: Spelling
This commit is contained in:
parent
b82791d671
commit
f8f1e1757f
25 changed files with 80 additions and 80 deletions
|
@ -30,7 +30,7 @@ structure AnomalyFreePerp extends MSSMACC.LinSols where
|
|||
perpB₃ : dot B₃.val val = 0
|
||||
|
||||
/-- The projection of an object in `MSSMACC.AnomalyFreeLinear` onto the subspace
|
||||
orthgonal to `Y₃` and`B₃`. -/
|
||||
orthogonal to `Y₃` and`B₃`. -/
|
||||
def proj (T : MSSMACC.LinSols) : MSSMACC.AnomalyFreePerp :=
|
||||
⟨(dot B₃.val T.val - dot Y₃.val T.val) • Y₃.1.1
|
||||
+ (dot Y₃.val T.val - 2 * dot B₃.val T.val) • B₃.1.1
|
||||
|
|
|
@ -81,7 +81,7 @@ def familyEmbedding (m n : ℕ) : (SMCharges m).Charges →ₗ[ℚ] (SMCharges n
|
|||
chargesMapOfSpeciesMap (speciesEmbed m n)
|
||||
|
||||
/-- For species, the embedding of the `1`-family charges into the `n`-family charges in
|
||||
a universal manor. -/
|
||||
a universal manner. -/
|
||||
@[simps!]
|
||||
def speciesFamilyUniversial (n : ℕ) :
|
||||
(SMSpecies 1).Charges →ₗ[ℚ] (SMSpecies n).Charges where
|
||||
|
@ -90,7 +90,7 @@ def speciesFamilyUniversial (n : ℕ) :
|
|||
map_smul' _ _ := rfl
|
||||
|
||||
/-- The embedding of the `1`-family charges into the `n`-family charges in
|
||||
a universal manor. -/
|
||||
a universal manner. -/
|
||||
def familyUniversal (n : ℕ) : (SMCharges 1).Charges →ₗ[ℚ] (SMCharges n).Charges :=
|
||||
chargesMapOfSpeciesMap (speciesFamilyUniversial n)
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@ def familyEmbedding (m n : ℕ) : (SMνCharges m).Charges →ₗ[ℚ] (SMνCharg
|
|||
chargesMapOfSpeciesMap (speciesEmbed m n)
|
||||
|
||||
/-- For species, the embedding of the `1`-family charges into the `n`-family charges in
|
||||
a universal manor. -/
|
||||
a universal manner. -/
|
||||
@[simps!]
|
||||
def speciesFamilyUniversial (n : ℕ) :
|
||||
(SMνSpecies 1).Charges →ₗ[ℚ] (SMνSpecies n).Charges where
|
||||
|
@ -91,7 +91,7 @@ def speciesFamilyUniversial (n : ℕ) :
|
|||
map_smul' _ _ := rfl
|
||||
|
||||
/-- The embedding of the `1`-family charges into the `n`-family charges in
|
||||
a universal manor. -/
|
||||
a universal manner. -/
|
||||
def familyUniversal (n : ℕ) : (SMνCharges 1).Charges →ₗ[ℚ] (SMνCharges n).Charges :=
|
||||
chargesMapOfSpeciesMap (speciesFamilyUniversial n)
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@ See page 56 of https://math.ucr.edu/home/baez/guts.pdf
|
|||
informal_definition inclPatiSalam where
|
||||
deps := [``GaugeGroupI, ``PatiSalam.GaugeGroupI, ``PatiSalam.gaugeGroupISpinEquiv]
|
||||
|
||||
/-- The inclusion of the Standard Model gauge group into Spin(10), i.e., the compoisiton of
|
||||
/-- The inclusion of the Standard Model gauge group into Spin(10), i.e., the composition of
|
||||
`embedPatiSalam` and `PatiSalam.inclSM`.
|
||||
|
||||
See page 56 of https://math.ucr.edu/home/baez/guts.pdf
|
||||
|
|
|
@ -301,7 +301,7 @@ lemma tb (V : CKMMatrix) (a b c d e f : ℝ) :
|
|||
|
||||
end phaseShiftApply
|
||||
|
||||
/-- The aboslute value of the `(i,j)`th element of `V`. -/
|
||||
/-- The absolute value of the `(i,j)`th element of `V`. -/
|
||||
@[simp]
|
||||
def VAbs' (V : unitaryGroup (Fin 3) ℂ) (i j : Fin 3) : ℝ := Complex.abs (V i j)
|
||||
|
||||
|
@ -422,7 +422,7 @@ def Rcscb (V : CKMMatrix) : ℂ := [V]cs / [V]cb
|
|||
/-- The ratio of the `cs` and `cb` elements of a CKM matrix. -/
|
||||
scoped[CKMMatrix] notation (name := cs_cb_ratio) "[" V "]cs|cb" => Rcscb V
|
||||
|
||||
/-- Multiplicying the ratio of the `cs` by `cb` element of a CKM matriz by the `cb` element
|
||||
/-- Multiplicying the ratio of the `cs` by `cb` element of a CKM matrix by the `cb` element
|
||||
returns the `cs` element, as long as the `cb` element is non-zero. -/
|
||||
lemma Rcscb_mul_cb {V : CKMMatrix} (h : [V]cb ≠ 0) : [V]cs = Rcscb V * [V]cb := by
|
||||
rw [Rcscb]
|
||||
|
|
|
@ -31,7 +31,7 @@ open TensorProduct
|
|||
|
||||
variable {d : ℕ}
|
||||
|
||||
/-- An auxillary linear map used in the definition of a generalised boost. -/
|
||||
/-- An auxiliary linear map used in the definition of a generalised boost. -/
|
||||
def genBoostAux₁ (u v : FuturePointing d) : ContrMod d →ₗ[ℝ] ContrMod d where
|
||||
toFun x := (2 * ⟪x, u.val.val⟫ₘ) • v.1.1
|
||||
map_add' x y := by
|
||||
|
@ -43,7 +43,7 @@ def genBoostAux₁ (u v : FuturePointing d) : ContrMod d →ₗ[ℝ] ContrMod d
|
|||
smul_tmul, tmul_smul, map_smul, smul_eq_mul, RingHom.id_apply]
|
||||
rw [← mul_assoc, mul_comm 2 c, mul_assoc, mul_smul]
|
||||
|
||||
/-- An auxillary linear map used in the definition of a genearlised boost. -/
|
||||
/-- An auxiliary linear map used in the definition of a genearlised boost. -/
|
||||
def genBoostAux₂ (u v : FuturePointing d) : ContrMod d →ₗ[ℝ] ContrMod d where
|
||||
toFun x := - (⟪x, u.1.1 + v.1.1⟫ₘ / (1 + ⟪u.1.1, v.1.1⟫ₘ)) • (u.1.1 + v.1.1)
|
||||
map_add' x y := by
|
||||
|
|
|
@ -64,7 +64,7 @@ lemma not_orthochronous_iff_le_zero : ¬ IsOrthochronous Λ ↔ Λ.1 (Sum.inl 0)
|
|||
def timeCompCont : C(LorentzGroup d, ℝ) := ⟨fun Λ => Λ.1 (Sum.inl 0) (Sum.inl 0),
|
||||
Continuous.matrix_elem (continuous_iff_le_induced.mpr fun _ a => a) (Sum.inl 0) (Sum.inl 0)⟩
|
||||
|
||||
/-- An auxillary function used in the definition of `orthchroMapReal`.
|
||||
/-- An auxiliary function used in the definition of `orthchroMapReal`.
|
||||
This function takes all elements of `ℝ` less then `-1` to `-1`,
|
||||
all elements of `R` geater then `1` to `1` and peserves all other elements. -/
|
||||
def stepFunction : ℝ → ℝ := fun t =>
|
||||
|
@ -135,7 +135,7 @@ lemma orthchroMap_not_IsOrthochronous {Λ : LorentzGroup d} (h : ¬ IsOrthochron
|
|||
· rfl
|
||||
· linarith
|
||||
|
||||
/-- The product of two orthochronous Lorentz transfomations is orthochronous. -/
|
||||
/-- The product of two orthochronous Lorentz transformations is orthochronous. -/
|
||||
lemma mul_othchron_of_othchron_othchron {Λ Λ' : LorentzGroup d} (h : IsOrthochronous Λ)
|
||||
(h' : IsOrthochronous Λ') : IsOrthochronous (Λ * Λ') := by
|
||||
rw [IsOrthochronous_iff_transpose] at h
|
||||
|
@ -143,7 +143,7 @@ lemma mul_othchron_of_othchron_othchron {Λ Λ' : LorentzGroup d} (h : IsOrthoch
|
|||
rw [IsOrthochronous, LorentzGroup.inl_inl_mul]
|
||||
exact NormOne.FuturePointing.metric_reflect_mem_mem h h'
|
||||
|
||||
/-- The product of two non-orthochronous Lorentz transfomations is orthochronous. -/
|
||||
/-- The product of two non-orthochronous Lorentz transformations is orthochronous. -/
|
||||
lemma mul_othchron_of_not_othchron_not_othchron {Λ Λ' : LorentzGroup d} (h : ¬ IsOrthochronous Λ)
|
||||
(h' : ¬ IsOrthochronous Λ') : IsOrthochronous (Λ * Λ') := by
|
||||
rw [IsOrthochronous_iff_transpose] at h
|
||||
|
@ -151,8 +151,8 @@ lemma mul_othchron_of_not_othchron_not_othchron {Λ Λ' : LorentzGroup d} (h :
|
|||
rw [IsOrthochronous, LorentzGroup.inl_inl_mul]
|
||||
exact NormOne.FuturePointing.metric_reflect_not_mem_not_mem h h'
|
||||
|
||||
/-- The product of an orthochronous Lorentz transfomations with a
|
||||
non-orthchronous Loentz transformation is not orthochronous. -/
|
||||
/-- The product of an orthochronous Lorentz transformations with a
|
||||
non-orthochronous Loentz transformation is not orthochronous. -/
|
||||
lemma mul_not_othchron_of_othchron_not_othchron {Λ Λ' : LorentzGroup d} (h : IsOrthochronous Λ)
|
||||
(h' : ¬ IsOrthochronous Λ') : ¬ IsOrthochronous (Λ * Λ') := by
|
||||
rw [not_orthochronous_iff_le_zero, LorentzGroup.inl_inl_mul]
|
||||
|
@ -160,8 +160,8 @@ lemma mul_not_othchron_of_othchron_not_othchron {Λ Λ' : LorentzGroup d} (h : I
|
|||
rw [IsOrthochronous_iff_futurePointing] at h h'
|
||||
exact NormOne.FuturePointing.metric_reflect_mem_not_mem h h'
|
||||
|
||||
/-- The product of a non-orthochronous Lorentz transfomations with an
|
||||
orthchronous Loentz transformation is not orthochronous. -/
|
||||
/-- The product of a non-orthochronous Lorentz transformations with an
|
||||
orthochronous Loentz transformation is not orthochronous. -/
|
||||
lemma mul_not_othchron_of_not_othchron_othchron {Λ Λ' : LorentzGroup d} (h : ¬ IsOrthochronous Λ)
|
||||
(h' : IsOrthochronous Λ') : ¬ IsOrthochronous (Λ * Λ') := by
|
||||
rw [not_orthochronous_iff_le_zero, LorentzGroup.inl_inl_mul]
|
||||
|
|
|
@ -88,7 +88,7 @@ lemma off_diag_zero {μ ν : Fin 1 ⊕ Fin d} (h : μ ≠ ν) : η μ ν = 0 :=
|
|||
lemma inl_0_inl_0 : @minkowskiMatrix d (Sum.inl 0) (Sum.inl 0) = 1 := by
|
||||
rfl
|
||||
|
||||
/-- The space diagonal components of the Minkowski matriz are `-1`. -/
|
||||
/-- The space diagonal components of the Minkowski matrix are `-1`. -/
|
||||
lemma inr_i_inr_i (i : Fin d) : @minkowskiMatrix d (Sum.inr i) (Sum.inr i) = -1 := by
|
||||
simp only [minkowskiMatrix, LieAlgebra.Orthogonal.indefiniteDiagonal]
|
||||
simp_all only [diagonal_apply_eq, Sum.elim_inr]
|
||||
|
|
|
@ -12,7 +12,7 @@ import HepLean.Lorentz.PauliMatrices.Basic
|
|||
namespace PauliMatrix
|
||||
open Matrix
|
||||
|
||||
/-- The trace of `σ0` multiplied by a self-adjiont `2×2` matrix is real. -/
|
||||
/-- The trace of `σ0` multiplied by a self-adjoint `2×2` matrix is real. -/
|
||||
lemma selfAdjoint_trace_σ0_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)) :
|
||||
(Matrix.trace (σ0 * A.1)).re = Matrix.trace (σ0 * A.1) := by
|
||||
rw [eta_fin_two A.1]
|
||||
|
@ -35,7 +35,7 @@ lemma selfAdjoint_trace_σ0_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ))
|
|||
cons_val_fin_one, head_fin_const] at h11
|
||||
exact Complex.conj_eq_iff_re.mp h11
|
||||
|
||||
/-- The trace of `σ1` multiplied by a self-adjiont `2×2` matrix is real. -/
|
||||
/-- The trace of `σ1` multiplied by a self-adjoint `2×2` matrix is real. -/
|
||||
lemma selfAdjoint_trace_σ1_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)) :
|
||||
(Matrix.trace (σ1 * A.1)).re = Matrix.trace (σ1 * A.1) := by
|
||||
rw [eta_fin_two A.1]
|
||||
|
@ -55,7 +55,7 @@ lemma selfAdjoint_trace_σ1_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ))
|
|||
simp only [Fin.isValue, Complex.ofReal_mul, Complex.ofReal_ofNat]
|
||||
ring
|
||||
|
||||
/-- The trace of `σ2` multiplied by a self-adjiont `2×2` matrix is real. -/
|
||||
/-- The trace of `σ2` multiplied by a self-adjoint `2×2` matrix is real. -/
|
||||
lemma selfAdjoint_trace_σ2_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)) :
|
||||
(Matrix.trace (σ2 * A.1)).re = Matrix.trace (σ2 * A.1) := by
|
||||
rw [eta_fin_two A.1]
|
||||
|
@ -79,7 +79,7 @@ lemma selfAdjoint_trace_σ2_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ))
|
|||
simp
|
||||
· ring
|
||||
|
||||
/-- The trace of `σ3` multiplied by a self-adjiont `2×2` matrix is real. -/
|
||||
/-- The trace of `σ3` multiplied by a self-adjoint `2×2` matrix is real. -/
|
||||
lemma selfAdjoint_trace_σ3_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)) :
|
||||
(Matrix.trace (σ3 * A.1)).re = Matrix.trace (σ3 * A.1) := by
|
||||
rw [eta_fin_two A.1]
|
||||
|
@ -100,7 +100,7 @@ lemma selfAdjoint_trace_σ3_real (A : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ))
|
|||
|
||||
open Complex
|
||||
|
||||
/-- Two `2×2` self-adjiont matrices are equal if the (complex) traces of each matrix multiplied by
|
||||
/-- Two `2×2` self-adjoint matrices are equal if the (complex) traces of each matrix multiplied by
|
||||
each of the Pauli-matrices are equal. -/
|
||||
lemma selfAdjoint_ext_complex {A B : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)}
|
||||
(h0 : Matrix.trace (PauliMatrix.σ0 * A.1) = Matrix.trace (PauliMatrix.σ0 * B.1))
|
||||
|
@ -133,7 +133,7 @@ lemma selfAdjoint_ext_complex {A B : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)}
|
|||
| 1, 1 =>
|
||||
linear_combination (norm := ring_nf) (h0 - h3) / 2
|
||||
|
||||
/-- Two `2×2` self-adjiont matrices are equal if the real traces of each matrix multiplied by
|
||||
/-- Two `2×2` self-adjoint matrices are equal if the real traces of each matrix multiplied by
|
||||
each of the Pauli-matrices are equal. -/
|
||||
lemma selfAdjoint_ext {A B : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)}
|
||||
(h0 : ((Matrix.trace (PauliMatrix.σ0 * A.1))).re = ((Matrix.trace (PauliMatrix.σ0 * B.1))).re)
|
||||
|
@ -154,7 +154,7 @@ lemma selfAdjoint_ext {A B : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)}
|
|||
|
||||
noncomputable section
|
||||
|
||||
/-- An auxillary function which on `i : Fin 1 ⊕ Fin 3` returns the corresponding
|
||||
/-- An auxiliary function which on `i : Fin 1 ⊕ Fin 3` returns the corresponding
|
||||
Pauli-matrix as a self-adjoint matrix. -/
|
||||
def σSA' (i : Fin 1 ⊕ Fin 3) : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ) :=
|
||||
match i with
|
||||
|
@ -225,7 +225,7 @@ lemma σSA_span : ⊤ ≤ Submodule.span ℝ (Set.range σSA') := by
|
|||
def σSA : Basis (Fin 1 ⊕ Fin 3) ℝ (selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ)) :=
|
||||
Basis.mk σSA_linearly_independent σSA_span
|
||||
|
||||
/-- An auxillary function which on `i : Fin 1 ⊕ Fin 3` returns the corresponding
|
||||
/-- An auxiliary function which on `i : Fin 1 ⊕ Fin 3` returns the corresponding
|
||||
Pauli-matrix as a self-adjoint matrix with a minus sign for `Sum.inr _`. -/
|
||||
def σSAL' (i : Fin 1 ⊕ Fin 3) : selfAdjoint (Matrix (Fin 2) (Fin 2) ℂ) :=
|
||||
match i with
|
||||
|
|
|
@ -25,7 +25,7 @@ structure HTMLNote where
|
|||
/-- The line in the file where the contribution came from. -/
|
||||
line : Nat
|
||||
|
||||
/-- Converts a note infor into a HTMLNote. -/
|
||||
/-- Converts a note info into a HTMLNote. -/
|
||||
def HTMLNote.ofNodeInfo (ni : NoteInfo) : HTMLNote :=
|
||||
{ ni with }
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Authors: Joseph Tooby-Smith
|
|||
import Mathlib.Algebra.BigOperators.Group.Finset
|
||||
/-!
|
||||
|
||||
# Creation and annihlation parts of fields
|
||||
# Creation and annihilation parts of fields
|
||||
|
||||
-/
|
||||
|
||||
|
@ -33,8 +33,8 @@ instance : Fintype CreateAnnihilate where
|
|||
lemma eq_create_or_annihilate (φ : CreateAnnihilate) : φ = create ∨ φ = annihilate := by
|
||||
cases φ <;> simp
|
||||
|
||||
/-- The normal ordering on creation and annihlation operators.
|
||||
Under this relation, `normalOrder a b` is false only if `a` is annihlate and `b` is create. -/
|
||||
/-- The normal ordering on creation and annihilation operators.
|
||||
Under this relation, `normalOrder a b` is false only if `a` is annihilate and `b` is create. -/
|
||||
def normalOrder : CreateAnnihilate → CreateAnnihilate → Prop
|
||||
| create, _ => True
|
||||
| annihilate, annihilate => True
|
||||
|
|
|
@ -219,7 +219,7 @@ lemma ι_normalOrderF_eq_of_equiv (a b : 𝓕.FieldOpFreeAlgebra) (h : a ≈ b)
|
|||
simp only [LinearMap.mem_ker, ← map_sub]
|
||||
exact ι_normalOrderF_zero_of_mem_ideal (a - b) h
|
||||
|
||||
/-- For a field specification `𝓕`, `normalOrder` is the linera map
|
||||
/-- For a field specification `𝓕`, `normalOrder` is the linear map
|
||||
|
||||
`FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕`
|
||||
|
||||
|
|
|
@ -118,7 +118,7 @@ lemma crPart_mul_normalOrder (φ : 𝓕.FieldOp) (a : 𝓕.FieldOpAlgebra) :
|
|||
|
||||
-/
|
||||
|
||||
/-- For a field specfication `𝓕`, and `a` and `b` in `𝓕.FieldOpAlgebra` the normal ordering
|
||||
/-- For a field specification `𝓕`, and `a` and `b` in `𝓕.FieldOpAlgebra` the normal ordering
|
||||
of the super commutator of `a` and `b` vanishes. I.e. `𝓝([a,b]ₛ) = 0`. -/
|
||||
@[simp]
|
||||
lemma normalOrder_superCommute_eq_zero (a b : 𝓕.FieldOpAlgebra) :
|
||||
|
|
|
@ -7,7 +7,7 @@ import HepLean.PerturbationTheory.FieldSpecification.CrAnFieldOp
|
|||
import HepLean.PerturbationTheory.FieldSpecification.CrAnSection
|
||||
/-!
|
||||
|
||||
# Creation and annihlation free-algebra
|
||||
# Creation and annihilation free-algebra
|
||||
|
||||
This module defines the creation and annihilation algebra for a field structure.
|
||||
|
||||
|
@ -142,7 +142,7 @@ lemma ofFieldOpListF_sum (φs : List 𝓕.FieldOp) :
|
|||
-/
|
||||
|
||||
/-- The algebra map taking an element of the free-state algbra to
|
||||
the part of it in the creation and annihlation free algebra
|
||||
the part of it in the creation and annihilation free algebra
|
||||
spanned by creation operators. -/
|
||||
def crPartF : 𝓕.FieldOp → 𝓕.FieldOpFreeAlgebra := fun φ =>
|
||||
match φ with
|
||||
|
@ -201,7 +201,7 @@ lemma ofFieldOpF_eq_crPartF_add_anPartF (φ : 𝓕.FieldOp) :
|
|||
|
||||
/-!
|
||||
|
||||
## The basis of the creation and annihlation free-algebra.
|
||||
## The basis of the creation and annihilation free-algebra.
|
||||
|
||||
-/
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace FieldOpFreeAlgebra
|
|||
|
||||
noncomputable section
|
||||
|
||||
/-- For a field specification `𝓕`, `normalOrderF` is the linera map
|
||||
/-- For a field specification `𝓕`, `normalOrderF` is the linear map
|
||||
`FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpFreeAlgebra 𝓕`
|
||||
defined by its action on the basis `ofCrAnListF φs`, taking `ofCrAnListF φs` to
|
||||
`normalOrderSign φs • ofCrAnListF (normalOrderList φs)`.
|
||||
|
@ -143,7 +143,7 @@ lemma normalOrderF_create_mul (φ : 𝓕.CrAnFieldOp)
|
|||
lemma normalOrderF_ofCrAnListF_append_annihilate (φ : 𝓕.CrAnFieldOp)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.annihilate) (φs : List 𝓕.CrAnFieldOp) :
|
||||
𝓝ᶠ(ofCrAnListF (φs ++ [φ])) = 𝓝ᶠ(ofCrAnListF φs) * ofCrAnOpF φ := by
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_append_annihlate φ hφ φs,
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_append_annihilate φ hφ φs,
|
||||
normalOrderList_append_annihilate φ hφ φs, ofCrAnListF_append, ofCrAnListF_singleton,
|
||||
normalOrderF_ofCrAnListF, smul_mul_assoc]
|
||||
|
||||
|
@ -189,18 +189,18 @@ lemma normalOrderF_mul_anPartF (φ : 𝓕.FieldOp) (a : FieldOpFreeAlgebra 𝓕)
|
|||
The main result of this section is `normalOrderF_superCommuteF_annihilate_create`.
|
||||
-/
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnListF_ofCrAnListF (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderF_swap_create_annihilate_ofCrAnListF_ofCrAnListF (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs φs' : List 𝓕.CrAnFieldOp) :
|
||||
𝓝ᶠ(ofCrAnListF φs' * ofCrAnOpF φc * ofCrAnOpF φa * ofCrAnListF φs) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(ofCrAnListF φs' * ofCrAnOpF φa * ofCrAnOpF φc * ofCrAnListF φs) := by
|
||||
rw [mul_assoc, mul_assoc, ← ofCrAnListF_cons, ← ofCrAnListF_cons, ← ofCrAnListF_append]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_swap_create_annihlate φc φa hφc hφa]
|
||||
rw [normalOrderList_swap_create_annihlate φc φa hφc hφa, ← smul_smul, ← normalOrderF_ofCrAnListF]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_swap_create_annihilate φc φa hφc hφa]
|
||||
rw [normalOrderList_swap_create_annihilate φc φa hφc hφa, ← smul_smul, ← normalOrderF_ofCrAnListF]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_cons, ofCrAnListF_cons]
|
||||
noncomm_ring
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnListF (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderF_swap_create_annihilate_ofCrAnListF (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs : List 𝓕.CrAnFieldOp) (a : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(ofCrAnListF φs * ofCrAnOpF φc * ofCrAnOpF φa * a) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
|
@ -211,10 +211,10 @@ lemma normalOrderF_swap_create_annihlate_ofCrAnListF (φc φa : 𝓕.CrAnFieldOp
|
|||
refine LinearMap.congr_fun (ofCrAnListFBasis.ext fun l ↦ ?_) a
|
||||
simp only [mulLinearMap, LinearMap.coe_mk, AddHom.coe_mk, ofListBasis_eq_ofList,
|
||||
LinearMap.coe_comp, Function.comp_apply, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate_ofCrAnListF_ofCrAnListF φc φa hφc hφa]
|
||||
rw [normalOrderF_swap_create_annihilate_ofCrAnListF_ofCrAnListF φc φa hφc hφa]
|
||||
rfl
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderF_swap_create_annihilate (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(a * ofCrAnOpF φc * ofCrAnOpF φa * b) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
|
@ -226,7 +226,7 @@ lemma normalOrderF_swap_create_annihlate (φc φa : 𝓕.CrAnFieldOp)
|
|||
refine LinearMap.congr_fun (ofCrAnListFBasis.ext fun l ↦ ?_) _
|
||||
simp only [mulLinearMap, ofListBasis_eq_ofList, LinearMap.coe_comp, Function.comp_apply,
|
||||
LinearMap.flip_apply, LinearMap.coe_mk, AddHom.coe_mk, instCommGroup.eq_1, ← mul_assoc,
|
||||
normalOrderF_swap_create_annihlate_ofCrAnListF φc φa hφc hφa]
|
||||
normalOrderF_swap_create_annihilate_ofCrAnListF φc φa hφc hφa]
|
||||
rfl
|
||||
|
||||
lemma normalOrderF_superCommuteF_create_annihilate (φc φa : 𝓕.CrAnFieldOp)
|
||||
|
@ -235,7 +235,7 @@ lemma normalOrderF_superCommuteF_create_annihilate (φc φa : 𝓕.CrAnFieldOp)
|
|||
𝓝ᶠ(a * [ofCrAnOpF φc, ofCrAnOpF φa]ₛca * b) = 0 := by
|
||||
simp only [superCommuteF_ofCrAnOpF_ofCrAnOpF, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [mul_sub, sub_mul, map_sub, ← smul_mul_assoc, ← mul_assoc, ← mul_assoc,
|
||||
normalOrderF_swap_create_annihlate φc φa hφc hφa]
|
||||
normalOrderF_swap_create_annihilate φc φa hφc hφa]
|
||||
simp
|
||||
|
||||
lemma normalOrderF_superCommuteF_annihilate_create (φc φa : 𝓕.CrAnFieldOp)
|
||||
|
@ -256,22 +256,22 @@ lemma normalOrderF_swap_crPartF_anPartF (φ φ' : 𝓕.FieldOp) (a b : FieldOpFr
|
|||
| .outAsymp φ, _ => simp
|
||||
| .position φ, .position φ' =>
|
||||
simp only [crPartF_position, anPartF_position, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
rw [normalOrderF_swap_create_annihilate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod]
|
||||
rfl; rfl
|
||||
| .inAsymp φ, .outAsymp φ' =>
|
||||
simp only [crPartF_negAsymp, anPartF_posAsymp, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
rw [normalOrderF_swap_create_annihilate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod]
|
||||
rfl; rfl
|
||||
| .inAsymp φ, .position φ' =>
|
||||
simp only [crPartF_negAsymp, anPartF_position, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
rw [normalOrderF_swap_create_annihilate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod]
|
||||
rfl; rfl
|
||||
| .position φ, .outAsymp φ' =>
|
||||
simp only [crPartF_position, anPartF_posAsymp, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
rw [normalOrderF_swap_create_annihilate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod]
|
||||
rfl; rfl
|
||||
|
||||
|
|
|
@ -34,8 +34,8 @@ In this module in addition to defining `CrAnFieldOp` we also define some maps:
|
|||
namespace FieldSpecification
|
||||
variable (𝓕 : FieldSpecification)
|
||||
|
||||
/-- To each field operator the specificaition of the type of creation and annihlation parts.
|
||||
For asymptotic staes there is only one allowed part, whilst for position
|
||||
/-- To each field operator the specificaition of the type of creation and annihilation parts.
|
||||
For asymptotic states there is only one allowed part, whilst for position
|
||||
field operator there is two. -/
|
||||
def fieldOpToCrAnType : 𝓕.FieldOp → Type
|
||||
| FieldOp.inAsymp _ => Unit
|
||||
|
@ -75,14 +75,14 @@ annihilation operators respectively.
|
|||
-/
|
||||
def CrAnFieldOp : Type := Σ (s : 𝓕.FieldOp), 𝓕.fieldOpToCrAnType s
|
||||
|
||||
/-- The map from creation and annihlation field operator to their underlying states. -/
|
||||
/-- The map from creation and annihilation field operator to their underlying states. -/
|
||||
def crAnFieldOpToFieldOp : 𝓕.CrAnFieldOp → 𝓕.FieldOp := Sigma.fst
|
||||
|
||||
@[simp]
|
||||
lemma crAnFieldOpToFieldOp_prod (s : 𝓕.FieldOp) (t : 𝓕.fieldOpToCrAnType s) :
|
||||
𝓕.crAnFieldOpToFieldOp ⟨s, t⟩ = s := rfl
|
||||
|
||||
/-- The map from creation and annihlation states to the type `CreateAnnihilate`
|
||||
/-- The map from creation and annihilation states to the type `CreateAnnihilate`
|
||||
specifying if a state is a creation or an annihilation state. -/
|
||||
def crAnFieldOpToCreateAnnihilate : 𝓕.CrAnFieldOp → CreateAnnihilate
|
||||
| ⟨FieldOp.inAsymp _, _⟩ => CreateAnnihilate.create
|
||||
|
|
|
@ -6,7 +6,7 @@ Authors: Joseph Tooby-Smith
|
|||
import HepLean.PerturbationTheory.FieldSpecification.CrAnFieldOp
|
||||
/-!
|
||||
|
||||
# Creation and annihlation sections
|
||||
# Creation and annihilation sections
|
||||
|
||||
In the module
|
||||
`HepLean.PerturbationTheory.FieldSpecification.Basic`
|
||||
|
@ -34,8 +34,8 @@ variable {𝓕 : FieldSpecification}
|
|||
/-- The sections in `𝓕.CrAnFieldOp` over a list `φs : List 𝓕.FieldOp`.
|
||||
In terms of physics, given some fields `φ₁...φₙ`, the different ways one can associate
|
||||
each field as a `creation` or an `annilation` operator. E.g. the number of terms
|
||||
`φ₁⁰φ₂¹...φₙ⁰` `φ₁¹φ₂¹...φₙ⁰` etc. If some fields are exclusively creation or annhilation
|
||||
operators at this point (e.g. ansymptotic states) this is accounted for. -/
|
||||
`φ₁⁰φ₂¹...φₙ⁰` `φ₁¹φ₂¹...φₙ⁰` etc. If some fields are exclusively creation or annihilation
|
||||
operators at this point (e.g. asymptotic states) this is accounted for. -/
|
||||
def CrAnSection (φs : List 𝓕.FieldOp) : Type :=
|
||||
{ψs : List 𝓕.CrAnFieldOp // ψs.map 𝓕.crAnFieldOpToFieldOp = φs}
|
||||
-- Π i, 𝓕.fieldOpToCreateAnnihilateType (φs.get i)
|
||||
|
@ -107,7 +107,7 @@ def nilEquiv : CrAnSection (𝓕 := 𝓕) [] ≃ Unit where
|
|||
right_inv _ := by
|
||||
simp
|
||||
|
||||
/-- The creation and annihlation sections for a singleton list is given by
|
||||
/-- The creation and annihilation sections for a singleton list is given by
|
||||
a choice of `𝓕.fieldOpToCreateAnnihilateType φ`. If `φ` is a asymptotic state
|
||||
there is no choice here, else there are two choices. -/
|
||||
def singletonEquiv {φ : 𝓕.FieldOp} : CrAnSection [φ] ≃
|
||||
|
@ -126,7 +126,7 @@ def singletonEquiv {φ : 𝓕.FieldOp} : CrAnSection [φ] ≃
|
|||
simp only [head]
|
||||
rfl
|
||||
|
||||
/-- An equivalence seperating the head of a creation and annhilation section
|
||||
/-- An equivalence seperating the head of a creation and annihilation section
|
||||
from the tail. -/
|
||||
def consEquiv {φ : 𝓕.FieldOp} {φs : List 𝓕.FieldOp} : CrAnSection (φ :: φs) ≃
|
||||
𝓕.fieldOpToCrAnType φ × CrAnSection φs where
|
||||
|
|
|
@ -43,7 +43,7 @@ instance (φ φ' : 𝓕.CrAnFieldOp) : Decidable (normalOrderRel φ φ') :=
|
|||
|
||||
-/
|
||||
|
||||
/-- For a field speciication `𝓕`, and a list `φs` of `𝓕.CrAnFieldOp`, `𝓕.normalOrderSign φs` is the
|
||||
/-- For a field specification `𝓕`, and a list `φs` of `𝓕.CrAnFieldOp`, `𝓕.normalOrderSign φs` is the
|
||||
sign corresponding to the number of `fermionic`-`fermionic` exchanges undertaken to normal-order
|
||||
`φs` using the insertion sort algorithm. -/
|
||||
def normalOrderSign (φs : List 𝓕.CrAnFieldOp) : ℂ :=
|
||||
|
@ -91,14 +91,14 @@ lemma koszulSignInsert_append_annihilate (φ' φ : 𝓕.CrAnFieldOp)
|
|||
dsimp only [List.cons_append, Wick.koszulSignInsert]
|
||||
rw [koszulSignInsert_append_annihilate φ' φ hφ φs]
|
||||
|
||||
lemma normalOrderSign_append_annihlate (φ : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderSign_append_annihilate (φ : 𝓕.CrAnFieldOp)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.annihilate) :
|
||||
(φs : List 𝓕.CrAnFieldOp) →
|
||||
normalOrderSign (φs ++ [φ]) = normalOrderSign φs
|
||||
| [] => by simp
|
||||
| φ' :: φs => by
|
||||
dsimp only [List.cons_append, normalOrderSign, Wick.koszulSign]
|
||||
have hi := normalOrderSign_append_annihlate φ hφ φs
|
||||
have hi := normalOrderSign_append_annihilate φ hφ φs
|
||||
dsimp only [normalOrderSign] at hi
|
||||
rw [hi, koszulSignInsert_append_annihilate φ' φ hφ φs]
|
||||
|
||||
|
@ -117,7 +117,7 @@ lemma koszulSignInsert_annihilate_cons_create (φc φa : 𝓕.CrAnFieldOp)
|
|||
rw [normalOrderRel, hφa, hφc]
|
||||
simp [CreateAnnihilate.normalOrder]
|
||||
|
||||
lemma normalOrderSign_swap_create_annihlate_fst (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderSign_swap_create_annihilate_fst (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create)
|
||||
(hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs : List 𝓕.CrAnFieldOp) :
|
||||
|
@ -137,16 +137,16 @@ lemma koszulSignInsert_swap (φ φc φa : 𝓕.CrAnFieldOp) (φs φs' : List
|
|||
= Wick.koszulSignInsert 𝓕.crAnStatistics normalOrderRel φ (φs ++ φc :: φa :: φs') :=
|
||||
Wick.koszulSignInsert_eq_perm _ _ _ _ _ (List.Perm.append_left φs (List.Perm.swap φc φa φs'))
|
||||
|
||||
lemma normalOrderSign_swap_create_annihlate (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderSign_swap_create_annihilate (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate) :
|
||||
(φs φs' : List 𝓕.CrAnFieldOp) → normalOrderSign (φs ++ φc :: φa :: φs') =
|
||||
FieldStatistic.exchangeSign (𝓕.crAnStatistics φc) (𝓕.crAnStatistics φa) *
|
||||
normalOrderSign (φs ++ φa :: φc :: φs')
|
||||
| [], φs' => normalOrderSign_swap_create_annihlate_fst φc φa hφc hφa φs'
|
||||
| [], φs' => normalOrderSign_swap_create_annihilate_fst φc φa hφc hφa φs'
|
||||
| φ :: φs, φs' => by
|
||||
rw [normalOrderSign]
|
||||
dsimp only [List.cons_append, Wick.koszulSign, FieldStatistic.instCommGroup.eq_1]
|
||||
rw [← normalOrderSign, normalOrderSign_swap_create_annihlate φc φa hφc hφa φs φs']
|
||||
rw [← normalOrderSign, normalOrderSign_swap_create_annihilate φc φa hφc hφa φs φs']
|
||||
rw [← mul_assoc, mul_comm _ (FieldStatistic.exchangeSign _ _), mul_assoc]
|
||||
simp only [FieldStatistic.instCommGroup.eq_1, mul_eq_mul_left_iff]
|
||||
apply Or.inl
|
||||
|
@ -283,7 +283,7 @@ lemma normalOrderList_append_annihilate (φ : 𝓕.CrAnFieldOp)
|
|||
dsimp only [normalOrderList] at hi
|
||||
rw [hi, orderedInsert_append_annihilate φ' φ hφ]
|
||||
|
||||
lemma normalOrder_swap_create_annihlate_fst (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrder_swap_create_annihilate_fst (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create)
|
||||
(hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs : List 𝓕.CrAnFieldOp) :
|
||||
|
@ -301,19 +301,19 @@ lemma normalOrder_swap_create_annihlate_fst (φc φa : 𝓕.CrAnFieldOp)
|
|||
dsimp [CreateAnnihilate.normalOrder] at h
|
||||
· rfl
|
||||
|
||||
lemma normalOrderList_swap_create_annihlate (φc φa : 𝓕.CrAnFieldOp)
|
||||
lemma normalOrderList_swap_create_annihilate (φc φa : 𝓕.CrAnFieldOp)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create)
|
||||
(hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate) :
|
||||
(φs φs' : List 𝓕.CrAnFieldOp) →
|
||||
normalOrderList (φs ++ φc :: φa :: φs') = normalOrderList (φs ++ φa :: φc :: φs')
|
||||
| [], φs' => normalOrder_swap_create_annihlate_fst φc φa hφc hφa φs'
|
||||
| [], φs' => normalOrder_swap_create_annihilate_fst φc φa hφc hφa φs'
|
||||
| φ :: φs, φs' => by
|
||||
dsimp only [List.cons_append, normalOrderList, List.insertionSort]
|
||||
have hi := normalOrderList_swap_create_annihlate φc φa hφc hφa φs φs'
|
||||
have hi := normalOrderList_swap_create_annihilate φc φa hφc hφa φs φs'
|
||||
dsimp only [normalOrderList] at hi
|
||||
rw [hi]
|
||||
|
||||
/-- For a list of creation and annihlation states, the equivalence between
|
||||
/-- For a list of creation and annihilation states, the equivalence between
|
||||
`Fin φs.length` and `Fin (normalOrderList φs).length` taking each position in `φs`
|
||||
to it's corresponding position in the normal ordered list. This assumes that
|
||||
we are using the insertion sort method.
|
||||
|
|
|
@ -103,7 +103,7 @@ lemma maxTimeFieldPos_lt_eraseMaxTimeField_length_succ (φ : 𝓕.FieldOp) (φs
|
|||
exact maxTimeFieldPos_lt_length φ φs
|
||||
|
||||
/-- Given a list `φ :: φs` of states, the position of the left-most state of maximum
|
||||
time as an eement of `Fin (eraseMaxTimeField φ φs).length.succ`.
|
||||
time as an element of `Fin (eraseMaxTimeField φ φs).length.succ`.
|
||||
As an example:
|
||||
- for the list `[φ1(t = 4), φ2(t = 5), φ3(t = 3), φ4(t = 5)]` this would return `⟨1,...⟩`.
|
||||
-/
|
||||
|
|
|
@ -143,7 +143,7 @@ lemma mul_eq_iff_eq_mul' (a b c : FieldStatistic) : a * b = c ↔ b = a * c := b
|
|||
reduceCtorEq, fermionic_mul_bosonic, true_iff, iff_true]
|
||||
all_goals rfl
|
||||
|
||||
/-- The field statistics of a list of fields is fermionic if ther is an odd number of fermions,
|
||||
/-- The field statistics of a list of fields is fermionic if there is an odd number of fermions,
|
||||
otherwise it is bosonic. -/
|
||||
def ofList (s : 𝓕 → FieldStatistic) : (φs : List 𝓕) → FieldStatistic
|
||||
| [] => bosonic
|
||||
|
|
|
@ -146,7 +146,7 @@ lemma fromInvolution_toInvolution (f : {f : Fin n → Fin n // Function.Involuti
|
|||
simp only [fromInvolution_getDual?_isSome, ne_eq, Decidable.not_not] at h
|
||||
exact id (Eq.symm h)
|
||||
|
||||
/-- The equivalence btween Wick contractions for `n` and involutions of `Fin n`.
|
||||
/-- The equivalence between Wick contractions for `n` and involutions of `Fin n`.
|
||||
The involution of `Fin n` associated with a Wick contraction `c : WickContraction n` as follows.
|
||||
If `i : Fin n` is contracted in `c` then it is taken to its dual, otherwise
|
||||
it is taken to itself. -/
|
||||
|
|
|
@ -188,7 +188,7 @@ lemma orderedInsert_eq_insertIdx_of_fin_list_sorted (l : List (Fin n)) (hl : l.S
|
|||
-/
|
||||
|
||||
/-- Given a Wick contraction `c`, the ordered list of elements of `Fin n` which are not contracted,
|
||||
i.e. do not appera anywhere in `c.1`. -/
|
||||
i.e. do not appear anywhere in `c.1`. -/
|
||||
def uncontractedList : List (Fin n) := List.filter (fun x => x ∈ c.uncontracted) (List.finRange n)
|
||||
|
||||
lemma uncontractedList_mem_iff (i : Fin n) :
|
||||
|
|
|
@ -98,7 +98,7 @@ lemma rep_apply (g : GaugeGroupI) (φ : HiggsVec) : rep g φ = g.2.2 ^ 3 • (g.
|
|||
-/
|
||||
|
||||
/-- Given a Higgs vector, a rotation matrix which puts the first component of the
|
||||
svector to zero, and the second component to a real -/
|
||||
vector to zero, and the second component to a real -/
|
||||
def rotateMatrix (φ : HiggsVec) : Matrix (Fin 2) (Fin 2) ℂ :=
|
||||
![![φ 1 /‖φ‖, - φ 0 /‖φ‖], ![conj (φ 0) / ‖φ‖, conj (φ 1) / ‖φ‖]]
|
||||
|
||||
|
@ -152,7 +152,7 @@ def rotateGuageGroup {φ : HiggsVec} (hφ : φ ≠ 0) : GaugeGroupI :=
|
|||
⟨1, ⟨(rotateMatrix φ), rotateMatrix_specialUnitary hφ⟩, 1⟩
|
||||
|
||||
/-- Acting on a non-zero Higgs vector with its rotation matrix gives a vector which is
|
||||
zero in the first componenent and a positive real in the second component. -/
|
||||
zero in the first component and a positive real in the second component. -/
|
||||
lemma rotateGuageGroup_apply {φ : HiggsVec} (hφ : φ ≠ 0) :
|
||||
rep (rotateGuageGroup hφ) φ = ![0, Complex.ofRealHom ‖φ‖] := by
|
||||
rw [rep_apply]
|
||||
|
@ -175,7 +175,7 @@ lemma rotateGuageGroup_apply {φ : HiggsVec} (hφ : φ ≠ 0) :
|
|||
|
||||
/-- For every Higgs vector there exists an element of the gauge group which rotates that
|
||||
Higgs vector to have `0` in the first component and be a non-negative real in the second
|
||||
componenet. -/
|
||||
component. -/
|
||||
theorem rotate_fst_zero_snd_real (φ : HiggsVec) :
|
||||
∃ (g : GaugeGroupI), rep g φ = ![0, Complex.ofReal ‖φ‖] := by
|
||||
by_cases h : φ = 0
|
||||
|
@ -189,7 +189,7 @@ theorem rotate_fst_zero_snd_real (φ : HiggsVec) :
|
|||
|
||||
/-- For every Higgs vector there exists an element of the gauge group which rotates that
|
||||
Higgs vector to have `0` in the second component and be a non-negative real in the first
|
||||
componenet. -/
|
||||
component. -/
|
||||
theorem rotate_fst_real_snd_zero (φ : HiggsVec) :
|
||||
∃ (g : GaugeGroupI), rep g φ = ![Complex.ofReal ‖φ‖, 0] := by
|
||||
obtain ⟨g, h⟩ := rotate_fst_zero_snd_real φ
|
||||
|
|
|
@ -44,7 +44,7 @@ informal_lemma constTwoNode_eq_twoNode where
|
|||
|
||||
-/
|
||||
|
||||
/-- The tenor node of a tensor tree's tensor has a tensor which is the tensor tree's tensor. -/
|
||||
/-- The tensor node of a tensor tree's tensor has a tensor which is the tensor tree's tensor. -/
|
||||
lemma tensorNode_of_tree (t : TensorTree S c) : (tensorNode t.tensor).tensor = t.tensor := by
|
||||
simp [tensorNode]
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ lemma sum_inr_succAbove_leftContrI_leftContrJ (k : Fin n1) : finSumFinEquiv.symm
|
|||
erw [succAbove_leftContrJ_leftContrI_natAdd]
|
||||
simp
|
||||
|
||||
/- An auxillary lemma to `contrMap_prod_tprod`. -/
|
||||
/- An auxiliary lemma to `contrMap_prod_tprod`. -/
|
||||
lemma contrMap_prod_tprod_aux
|
||||
(l : (OverColor.mk (c ∘ q.i.succAbove ∘ q.j.succAbove)).left ⊕ (OverColor.mk c1).left)
|
||||
(l' : Fin n.succ.succ ⊕ Fin n1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue