517 lines
21 KiB
Text
517 lines
21 KiB
Text
/-
|
||
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
|
||
Released under Apache 2.0 license as described in the file LICENSE.
|
||
Authors: Joseph Tooby-Smith
|
||
-/
|
||
import HepLean.PerturbationTheory.Algebras.FieldOpFreeAlgebra.TimeOrder
|
||
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.Basic
|
||
/-!
|
||
|
||
# SuperCommute on Field operator algebra
|
||
|
||
-/
|
||
|
||
namespace FieldSpecification
|
||
open FieldOpFreeAlgebra
|
||
open HepLean.List
|
||
open FieldStatistic
|
||
|
||
namespace FieldOpAlgebra
|
||
variable {𝓕 : FieldSpecification}
|
||
|
||
lemma ι_superCommuteF_eq_zero_of_ι_right_zero (a b : 𝓕.FieldOpFreeAlgebra) (h : ι b = 0) :
|
||
ι [a, b]ₛca = 0 := by
|
||
rw [superCommuteF_expand_bosonicProj_fermionicProj]
|
||
rw [ι_eq_zero_iff_ι_bosonicProj_fermonicProj_zero] at h
|
||
simp_all
|
||
|
||
lemma ι_superCommuteF_eq_zero_of_ι_left_zero (a b : 𝓕.FieldOpFreeAlgebra) (h : ι a = 0) :
|
||
ι [a, b]ₛca = 0 := by
|
||
rw [superCommuteF_expand_bosonicProj_fermionicProj]
|
||
rw [ι_eq_zero_iff_ι_bosonicProj_fermonicProj_zero] at h
|
||
simp_all
|
||
|
||
/-!
|
||
|
||
## Defining normal order for `FiedOpAlgebra`.
|
||
|
||
-/
|
||
|
||
lemma ι_superCommuteF_right_zero_of_mem_ideal (a b : 𝓕.FieldOpFreeAlgebra)
|
||
(h : b ∈ TwoSidedIdeal.span 𝓕.fieldOpIdealSet) : ι [a, b]ₛca = 0 := by
|
||
apply ι_superCommuteF_eq_zero_of_ι_right_zero
|
||
exact (ι_eq_zero_iff_mem_ideal b).mpr h
|
||
|
||
lemma ι_superCommuteF_eq_of_equiv_right (a b1 b2 : 𝓕.FieldOpFreeAlgebra) (h : b1 ≈ b2) :
|
||
ι [a, b1]ₛca = ι [a, b2]ₛca := by
|
||
rw [equiv_iff_sub_mem_ideal] at h
|
||
rw [LinearMap.sub_mem_ker_iff.mp]
|
||
simp only [LinearMap.mem_ker, ← map_sub]
|
||
exact ι_superCommuteF_right_zero_of_mem_ideal a (b1 - b2) h
|
||
|
||
/-- The super commutor on the `FieldOpAlgebra` defined as a linear map `[a,_]ₛ`. -/
|
||
noncomputable def superCommuteRight (a : 𝓕.FieldOpFreeAlgebra) :
|
||
FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
||
toFun := Quotient.lift (ι.toLinearMap ∘ₗ superCommuteF a)
|
||
(ι_superCommuteF_eq_of_equiv_right a)
|
||
map_add' x y := by
|
||
obtain ⟨x, hx⟩ := ι_surjective x
|
||
obtain ⟨y, hy⟩ := ι_surjective y
|
||
subst hx hy
|
||
rw [← map_add, ι_apply, ι_apply, ι_apply]
|
||
rw [Quotient.lift_mk, Quotient.lift_mk, Quotient.lift_mk]
|
||
simp
|
||
map_smul' c y := by
|
||
obtain ⟨y, hy⟩ := ι_surjective y
|
||
subst hy
|
||
rw [← map_smul, ι_apply, ι_apply]
|
||
simp
|
||
|
||
lemma superCommuteRight_apply_ι (a b : 𝓕.FieldOpFreeAlgebra) :
|
||
superCommuteRight a (ι b) = ι [a, b]ₛca := by rfl
|
||
|
||
lemma superCommuteRight_apply_quot (a b : 𝓕.FieldOpFreeAlgebra) :
|
||
superCommuteRight a ⟦b⟧= ι [a, b]ₛca := by rfl
|
||
|
||
lemma superCommuteRight_eq_of_equiv (a1 a2 : 𝓕.FieldOpFreeAlgebra) (h : a1 ≈ a2) :
|
||
superCommuteRight a1 = superCommuteRight a2 := by
|
||
rw [equiv_iff_sub_mem_ideal] at h
|
||
ext b
|
||
obtain ⟨b, rfl⟩ := ι_surjective b
|
||
have ha1b1 : (superCommuteRight (a1 - a2)) (ι b) = 0 := by
|
||
rw [superCommuteRight_apply_ι]
|
||
apply ι_superCommuteF_eq_zero_of_ι_left_zero
|
||
exact (ι_eq_zero_iff_mem_ideal (a1 - a2)).mpr h
|
||
simp_all only [superCommuteRight_apply_ι, map_sub, LinearMap.sub_apply]
|
||
trans ι ((superCommuteF a2) b) + 0
|
||
rw [← ha1b1]
|
||
simp only [add_sub_cancel]
|
||
simp
|
||
|
||
/-- The super commutor on the `FieldOpAlgebra`. -/
|
||
noncomputable def superCommute : FieldOpAlgebra 𝓕 →ₗ[ℂ]
|
||
FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
||
toFun := Quotient.lift superCommuteRight superCommuteRight_eq_of_equiv
|
||
map_add' x y := by
|
||
obtain ⟨x, rfl⟩ := ι_surjective x
|
||
obtain ⟨y, rfl⟩ := ι_surjective y
|
||
ext b
|
||
obtain ⟨b, rfl⟩ := ι_surjective b
|
||
rw [← map_add, ι_apply, ι_apply, ι_apply, ι_apply]
|
||
rw [Quotient.lift_mk, Quotient.lift_mk, Quotient.lift_mk]
|
||
simp only [LinearMap.add_apply]
|
||
rw [superCommuteRight_apply_quot, superCommuteRight_apply_quot, superCommuteRight_apply_quot]
|
||
simp
|
||
map_smul' c y := by
|
||
obtain ⟨y, rfl⟩ := ι_surjective y
|
||
ext b
|
||
obtain ⟨b, rfl⟩ := ι_surjective b
|
||
rw [← map_smul, ι_apply, ι_apply, ι_apply]
|
||
simp only [Quotient.lift_mk, RingHom.id_apply, LinearMap.smul_apply]
|
||
rw [superCommuteRight_apply_quot, superCommuteRight_apply_quot]
|
||
simp
|
||
|
||
@[inherit_doc superCommute]
|
||
scoped[FieldSpecification.FieldOpAlgebra] notation "[" a "," b "]ₛ" => superCommute a b
|
||
|
||
lemma superCommute_eq_ι_superCommuteF (a b : 𝓕.FieldOpFreeAlgebra) :
|
||
[ι a, ι b]ₛ = ι [a, b]ₛca := rfl
|
||
|
||
/-!
|
||
|
||
## Properties of `superCommute`.
|
||
|
||
-/
|
||
|
||
/-!
|
||
|
||
## Properties from the definition of FieldOpAlgebra
|
||
|
||
-/
|
||
|
||
lemma superCommute_create_create {φ φ' : 𝓕.CrAnFieldOp}
|
||
(h : 𝓕 |>ᶜ φ = .create) (h' : 𝓕 |>ᶜ φ' = .create) :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = 0 := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, ι_superCommuteF_of_create_create _ _ h h']
|
||
|
||
lemma superCommute_annihilate_annihilate {φ φ' : 𝓕.CrAnFieldOp}
|
||
(h : 𝓕 |>ᶜ φ = .annihilate) (h' : 𝓕 |>ᶜ φ' = .annihilate) :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = 0 := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, ι_superCommuteF_of_annihilate_annihilate _ _ h h']
|
||
|
||
lemma superCommute_diff_statistic {φ φ' : 𝓕.CrAnFieldOp} (h : (𝓕 |>ₛ φ) ≠ 𝓕 |>ₛ φ') :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = 0 := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, ι_superCommuteF_of_diff_statistic h]
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofFieldOp_diff_stat_zero (φ : 𝓕.CrAnFieldOp) (ψ : 𝓕.FieldOp)
|
||
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) : [ofCrAnFieldOp φ, ofFieldOp ψ]ₛ = 0 := by
|
||
rw [ofFieldOp_eq_sum, map_sum]
|
||
rw [Finset.sum_eq_zero]
|
||
intro x hx
|
||
apply superCommute_diff_statistic
|
||
simpa [crAnStatistics] using h
|
||
|
||
lemma superCommute_anPart_ofFieldOpF_diff_grade_zero (φ ψ : 𝓕.FieldOp)
|
||
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) : [anPart φ, ofFieldOp ψ]ₛ = 0 := by
|
||
match φ with
|
||
| FieldOp.inAsymp _ =>
|
||
simp
|
||
| FieldOp.position φ =>
|
||
simp only [anPartF_position]
|
||
apply superCommute_ofCrAnFieldOp_ofFieldOp_diff_stat_zero _ _ _
|
||
simpa [crAnStatistics] using h
|
||
| FieldOp.outAsymp _ =>
|
||
simp only [anPartF_posAsymp]
|
||
apply superCommute_ofCrAnFieldOp_ofFieldOp_diff_stat_zero _ _
|
||
simpa [crAnStatistics] using h
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center (φ φ' : 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ ∈ Subalgebra.center ℂ (FieldOpAlgebra 𝓕) := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp, superCommute_eq_ι_superCommuteF]
|
||
exact ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_mem_center φ φ'
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute (φ φ' : 𝓕.CrAnFieldOp)
|
||
(a : FieldOpAlgebra 𝓕) :
|
||
a * [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ * a := by
|
||
have h1 := superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center φ φ'
|
||
rw [@Subalgebra.mem_center_iff] at h1
|
||
exact h1 a
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofFieldOp_mem_center (φ : 𝓕.CrAnFieldOp) (φ' : 𝓕.FieldOp) :
|
||
[ofCrAnFieldOp φ, ofFieldOp φ']ₛ ∈ Subalgebra.center ℂ (FieldOpAlgebra 𝓕) := by
|
||
rw [ofFieldOp_eq_sum]
|
||
simp only [map_sum]
|
||
refine Subalgebra.sum_mem (Subalgebra.center ℂ 𝓕.FieldOpAlgebra) ?_
|
||
intro x hx
|
||
exact superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center φ ⟨φ', x⟩
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofFieldOp_commute (φ : 𝓕.CrAnFieldOp) (φ' : 𝓕.FieldOp)
|
||
(a : FieldOpAlgebra 𝓕) : a * [ofCrAnFieldOp φ, ofFieldOp φ']ₛ =
|
||
[ofCrAnFieldOp φ, ofFieldOp φ']ₛ * a := by
|
||
have h1 := superCommute_ofCrAnFieldOp_ofFieldOp_mem_center φ φ'
|
||
rw [@Subalgebra.mem_center_iff] at h1
|
||
exact h1 a
|
||
|
||
lemma superCommute_anPart_ofFieldOp_mem_center (φ φ' : 𝓕.FieldOp) :
|
||
[anPart φ, ofFieldOp φ']ₛ ∈ Subalgebra.center ℂ (FieldOpAlgebra 𝓕) := by
|
||
match φ with
|
||
| FieldOp.inAsymp _ =>
|
||
simp only [anPart_negAsymp, map_zero, LinearMap.zero_apply]
|
||
exact Subalgebra.zero_mem (Subalgebra.center ℂ _)
|
||
| FieldOp.position φ =>
|
||
exact superCommute_ofCrAnFieldOp_ofFieldOp_mem_center _ _
|
||
| FieldOp.outAsymp _ =>
|
||
exact superCommute_ofCrAnFieldOp_ofFieldOp_mem_center _ _
|
||
|
||
/-!
|
||
|
||
### `superCommute` on different constructors.
|
||
|
||
-/
|
||
|
||
lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList (φs φs' : List 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
|
||
ofCrAnFieldOpList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnFieldOpList (φs' ++ φs) := by
|
||
rw [ofCrAnFieldOpList_eq_ι_ofCrAnListF, ofCrAnFieldOpList_eq_ι_ofCrAnListF]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||
rfl
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp (φ φ' : 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = ofCrAnFieldOp φ * ofCrAnFieldOp φ' -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofCrAnFieldOp φ' * ofCrAnFieldOp φ := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||
rfl
|
||
|
||
lemma superCommute_ofCrAnFieldOpList_ofFieldOpList (φcas : List 𝓕.CrAnFieldOp)
|
||
(φs : List 𝓕.FieldOp) :
|
||
[ofCrAnFieldOpList φcas, ofFieldOpList φs]ₛ = ofCrAnFieldOpList φcas * ofFieldOpList φs -
|
||
𝓢(𝓕 |>ₛ φcas, 𝓕 |>ₛ φs) • ofFieldOpList φs * ofCrAnFieldOpList φcas := by
|
||
rw [ofCrAnFieldOpList, ofFieldOpList]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||
rfl
|
||
|
||
lemma superCommute_ofFieldOpList_ofFieldOpList (φs φs' : List 𝓕.FieldOp) :
|
||
[ofFieldOpList φs, ofFieldOpList φs']ₛ = ofFieldOpList φs * ofFieldOpList φs' -
|
||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofFieldOpList φs' * ofFieldOpList φs := by
|
||
rw [ofFieldOpList, ofFieldOpList]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofFieldOpListF_ofFieldOpFsList]
|
||
rfl
|
||
|
||
lemma superCommute_ofFieldOp_ofFieldOpList (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp) :
|
||
[ofFieldOp φ, ofFieldOpList φs]ₛ = ofFieldOp φ * ofFieldOpList φs -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofFieldOpList φs * ofFieldOp φ := by
|
||
rw [ofFieldOp, ofFieldOpList]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofFieldOpF_ofFieldOpFsList]
|
||
rfl
|
||
|
||
lemma superCommute_ofFieldOpList_ofFieldOp (φs : List 𝓕.FieldOp) (φ : 𝓕.FieldOp) :
|
||
[ofFieldOpList φs, ofFieldOp φ]ₛ = ofFieldOpList φs * ofFieldOp φ -
|
||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofFieldOp φ * ofFieldOpList φs := by
|
||
rw [ofFieldOpList, ofFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofFieldOpListF_ofFieldOpF]
|
||
rfl
|
||
|
||
lemma superCommute_anPart_crPart (φ φ' : 𝓕.FieldOp) :
|
||
[anPart φ, crPart φ']ₛ = anPart φ * crPart φ' -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * anPart φ := by
|
||
rw [anPart, crPart]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_anPartF_crPartF]
|
||
rfl
|
||
|
||
lemma superCommute_crPart_anPart (φ φ' : 𝓕.FieldOp) :
|
||
[crPart φ, anPart φ']ₛ = crPart φ * anPart φ' -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * crPart φ := by
|
||
rw [anPart, crPart]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_crPartF_anPartF]
|
||
rfl
|
||
|
||
@[simp]
|
||
lemma superCommute_crPart_crPart (φ φ' : 𝓕.FieldOp) : [crPart φ, crPart φ']ₛ = 0 := by
|
||
match φ, φ' with
|
||
| FieldOp.outAsymp φ, _ =>
|
||
simp
|
||
| _, FieldOp.outAsymp φ =>
|
||
simp
|
||
| FieldOp.position φ, FieldOp.position φ' =>
|
||
simp only [crPart_position]
|
||
apply superCommute_create_create
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.position φ, FieldOp.inAsymp φ' =>
|
||
simp only [crPart_position, crPart_negAsymp]
|
||
apply superCommute_create_create
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.inAsymp φ, FieldOp.inAsymp φ' =>
|
||
simp only [crPart_negAsymp]
|
||
apply superCommute_create_create
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.inAsymp φ, FieldOp.position φ' =>
|
||
simp only [crPart_negAsymp, crPart_position]
|
||
apply superCommute_create_create
|
||
· rfl
|
||
· rfl
|
||
|
||
@[simp]
|
||
lemma superCommute_anPart_anPart (φ φ' : 𝓕.FieldOp) : [anPart φ, anPart φ']ₛ = 0 := by
|
||
match φ, φ' with
|
||
| FieldOp.inAsymp φ, _ =>
|
||
simp
|
||
| _, FieldOp.inAsymp φ =>
|
||
simp
|
||
| FieldOp.position φ, FieldOp.position φ' =>
|
||
simp only [anPart_position]
|
||
apply superCommute_annihilate_annihilate
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.position φ, FieldOp.outAsymp φ' =>
|
||
simp only [anPart_position, anPart_posAsymp]
|
||
apply superCommute_annihilate_annihilate
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.outAsymp φ, FieldOp.outAsymp φ' =>
|
||
simp only [anPart_posAsymp]
|
||
apply superCommute_annihilate_annihilate
|
||
· rfl
|
||
· rfl
|
||
| FieldOp.outAsymp φ, FieldOp.position φ' =>
|
||
simp only [anPart_posAsymp, anPart_position]
|
||
apply superCommute_annihilate_annihilate
|
||
· rfl
|
||
· rfl
|
||
|
||
lemma superCommute_crPart_ofFieldOpList (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp) :
|
||
[crPart φ, ofFieldOpList φs]ₛ = crPart φ * ofFieldOpList φs -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofFieldOpList φs * crPart φ := by
|
||
rw [crPart, ofFieldOpList]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_crPartF_ofFieldOpListF]
|
||
rfl
|
||
|
||
lemma superCommute_anPart_ofFieldOpList (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp) :
|
||
[anPart φ, ofFieldOpList φs]ₛ = anPart φ * ofFieldOpList φs -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofFieldOpList φs * anPart φ := by
|
||
rw [anPart, ofFieldOpList]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_anPartF_ofFieldOpListF]
|
||
rfl
|
||
|
||
lemma superCommute_crPart_ofFieldOp (φ φ' : 𝓕.FieldOp) :
|
||
[crPart φ, ofFieldOp φ']ₛ = crPart φ * ofFieldOp φ' -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofFieldOp φ' * crPart φ := by
|
||
rw [crPart, ofFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_crPartF_ofFieldOpF]
|
||
rfl
|
||
|
||
lemma superCommute_anPart_ofFieldOp (φ φ' : 𝓕.FieldOp) :
|
||
[anPart φ, ofFieldOp φ']ₛ = anPart φ * ofFieldOp φ' -
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofFieldOp φ' * anPart φ := by
|
||
rw [anPart, ofFieldOp]
|
||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_anPartF_ofFieldOpF]
|
||
rfl
|
||
|
||
/-!
|
||
|
||
## Mul equal superCommute
|
||
|
||
Lemmas which rewrite a multiplication of two elements of the algebra as their commuted
|
||
multiplication with a sign plus the super commutor.
|
||
|
||
-/
|
||
|
||
lemma ofCrAnFieldOpList_mul_ofCrAnFieldOpList_eq_superCommute (φs φs' : List 𝓕.CrAnFieldOp) :
|
||
ofCrAnFieldOpList φs * ofCrAnFieldOpList φs' =
|
||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnFieldOpList φs' * ofCrAnFieldOpList φs
|
||
+ [ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ := by
|
||
rw [superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList]
|
||
simp [ofCrAnFieldOpList_append]
|
||
|
||
lemma ofCrAnFieldOp_mul_ofCrAnFieldOpList_eq_superCommute (φ : 𝓕.CrAnFieldOp)
|
||
(φs' : List 𝓕.CrAnFieldOp) : ofCrAnFieldOp φ * ofCrAnFieldOpList φs' =
|
||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofCrAnFieldOpList φs' * ofCrAnFieldOp φ
|
||
+ [ofCrAnFieldOp φ, ofCrAnFieldOpList φs']ₛ := by
|
||
rw [← ofCrAnFieldOpList_singleton, ofCrAnFieldOpList_mul_ofCrAnFieldOpList_eq_superCommute]
|
||
simp
|
||
|
||
lemma ofFieldOpList_mul_ofFieldOpList_eq_superCommute (φs φs' : List 𝓕.FieldOp) :
|
||
ofFieldOpList φs * ofFieldOpList φs' =
|
||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofFieldOpList φs' * ofFieldOpList φs
|
||
+ [ofFieldOpList φs, ofFieldOpList φs']ₛ := by
|
||
rw [superCommute_ofFieldOpList_ofFieldOpList]
|
||
simp
|
||
|
||
lemma ofFieldOp_mul_ofFieldOpList_eq_superCommute (φ : 𝓕.FieldOp) (φs' : List 𝓕.FieldOp) :
|
||
ofFieldOp φ * ofFieldOpList φs' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofFieldOpList φs' * ofFieldOp φ
|
||
+ [ofFieldOp φ, ofFieldOpList φs']ₛ := by
|
||
rw [superCommute_ofFieldOp_ofFieldOpList]
|
||
simp
|
||
|
||
lemma ofFieldOp_mul_ofFieldOp_eq_superCommute (φ φ' : 𝓕.FieldOp) :
|
||
ofFieldOp φ * ofFieldOp φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofFieldOp φ' * ofFieldOp φ
|
||
+ [ofFieldOp φ, ofFieldOp φ']ₛ := by
|
||
rw [← ofFieldOpList_singleton, ← ofFieldOpList_singleton]
|
||
rw [ofFieldOpList_mul_ofFieldOpList_eq_superCommute, ofFieldOpList_singleton]
|
||
simp
|
||
|
||
lemma ofFieldOpList_mul_ofFieldOp_eq_superCommute (φs : List 𝓕.FieldOp) (φ : 𝓕.FieldOp) :
|
||
ofFieldOpList φs * ofFieldOp φ = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofFieldOp φ * ofFieldOpList φs
|
||
+ [ofFieldOpList φs, ofFieldOp φ]ₛ := by
|
||
rw [superCommute_ofFieldOpList_ofFieldOp]
|
||
simp
|
||
|
||
lemma ofCrAnFieldOpList_mul_ofFieldOpList_eq_superCommute (φs : List 𝓕.CrAnFieldOp)
|
||
(φs' : List 𝓕.FieldOp) : ofCrAnFieldOpList φs * ofFieldOpList φs' =
|
||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofFieldOpList φs' * ofCrAnFieldOpList φs
|
||
+ [ofCrAnFieldOpList φs, ofFieldOpList φs']ₛ := by
|
||
rw [superCommute_ofCrAnFieldOpList_ofFieldOpList]
|
||
simp
|
||
|
||
lemma crPart_mul_anPart_eq_superCommute (φ φ' : 𝓕.FieldOp) :
|
||
crPart φ * anPart φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * crPart φ
|
||
+ [crPart φ, anPart φ']ₛ := by
|
||
rw [superCommute_crPart_anPart]
|
||
simp
|
||
|
||
lemma anPart_mul_crPart_eq_superCommute (φ φ' : 𝓕.FieldOp) :
|
||
anPart φ * crPart φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * anPart φ
|
||
+ [anPart φ, crPart φ']ₛ := by
|
||
rw [superCommute_anPart_crPart]
|
||
simp
|
||
|
||
lemma crPart_mul_crPart_swap (φ φ' : 𝓕.FieldOp) :
|
||
crPart φ * crPart φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * crPart φ := by
|
||
trans 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * crPart φ + [crPart φ, crPart φ']ₛ
|
||
· rw [crPart, crPart, superCommute_eq_ι_superCommuteF, superCommuteF_crPartF_crPartF]
|
||
simp
|
||
· simp
|
||
|
||
lemma anPart_mul_anPart_swap (φ φ' : 𝓕.FieldOp) :
|
||
anPart φ * anPart φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * anPart φ := by
|
||
trans 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * anPart φ + [anPart φ, anPart φ']ₛ
|
||
· rw [anPart, anPart, superCommute_eq_ι_superCommuteF, superCommuteF_anPartF_anPartF]
|
||
simp
|
||
· simp
|
||
|
||
/-!
|
||
|
||
## Symmetry of the super commutor.
|
||
|
||
-/
|
||
|
||
lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_symm (φs φs' : List 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
|
||
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnFieldOpList φs', ofCrAnFieldOpList φs]ₛ := by
|
||
rw [ofCrAnFieldOpList, ofCrAnFieldOpList, superCommute_eq_ι_superCommuteF,
|
||
superCommuteF_ofCrAnListF_ofCrAnListF_symm]
|
||
rfl
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_symm (φ φ' : 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ =
|
||
(- 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ')) • [ofCrAnFieldOp φ', ofCrAnFieldOp φ]ₛ := by
|
||
rw [ofCrAnFieldOp, ofCrAnFieldOp, superCommute_eq_ι_superCommuteF,
|
||
superCommuteF_ofCrAnOpF_ofCrAnOpF_symm]
|
||
rfl
|
||
|
||
/-!
|
||
|
||
## splitting the super commute into sums
|
||
|
||
-/
|
||
|
||
lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_eq_sum (φs φs' : List 𝓕.CrAnFieldOp) :
|
||
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
|
||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
||
ofCrAnFieldOpList (φs'.take n) * [ofCrAnFieldOpList φs, ofCrAnFieldOp (φs'.get n)]ₛ *
|
||
ofCrAnFieldOpList (φs'.drop (n + 1)) := by
|
||
conv_lhs =>
|
||
rw [ofCrAnFieldOpList, ofCrAnFieldOpList, superCommute_eq_ι_superCommuteF,
|
||
superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
||
rw [map_sum]
|
||
rfl
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOpList_eq_sum (φ : 𝓕.CrAnFieldOp)
|
||
(φs' : List 𝓕.CrAnFieldOp) : [ofCrAnFieldOp φ, ofCrAnFieldOpList φs']ₛ =
|
||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs'.take n) •
|
||
[ofCrAnFieldOp φ, ofCrAnFieldOp (φs'.get n)]ₛ * ofCrAnFieldOpList (φs'.eraseIdx n) := by
|
||
conv_lhs =>
|
||
rw [← ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_eq_sum]
|
||
congr
|
||
funext n
|
||
simp only [instCommGroup.eq_1, ofList_singleton, List.get_eq_getElem, Algebra.smul_mul_assoc]
|
||
congr 1
|
||
rw [ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute]
|
||
rw [mul_assoc, ← ofCrAnFieldOpList_append]
|
||
congr
|
||
exact Eq.symm (List.eraseIdx_eq_take_drop_succ φs' ↑n)
|
||
|
||
lemma superCommute_ofCrAnFieldOpList_ofFieldOpList_eq_sum (φs : List 𝓕.CrAnFieldOp)
|
||
(φs' : List 𝓕.FieldOp) : [ofCrAnFieldOpList φs, ofFieldOpList φs']ₛ =
|
||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
||
ofFieldOpList (φs'.take n) * [ofCrAnFieldOpList φs, ofFieldOp (φs'.get n)]ₛ *
|
||
ofFieldOpList (φs'.drop (n + 1)) := by
|
||
conv_lhs =>
|
||
rw [ofCrAnFieldOpList, ofFieldOpList, superCommute_eq_ι_superCommuteF,
|
||
superCommuteF_ofCrAnListF_ofFieldOpListF_eq_sum]
|
||
rw [map_sum]
|
||
rfl
|
||
|
||
lemma superCommute_ofCrAnFieldOp_ofFieldOpList_eq_sum (φ : 𝓕.CrAnFieldOp) (φs' : List 𝓕.FieldOp) :
|
||
[ofCrAnFieldOp φ, ofFieldOpList φs']ₛ =
|
||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs'.take n) •
|
||
[ofCrAnFieldOp φ, ofFieldOp (φs'.get n)]ₛ * ofFieldOpList (φs'.eraseIdx n) := by
|
||
conv_lhs =>
|
||
rw [← ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOpList_ofFieldOpList_eq_sum]
|
||
congr
|
||
funext n
|
||
simp only [instCommGroup.eq_1, ofList_singleton, List.get_eq_getElem, Algebra.smul_mul_assoc]
|
||
congr 1
|
||
rw [ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOp_ofFieldOp_commute]
|
||
rw [mul_assoc, ← ofFieldOpList_append]
|
||
congr
|
||
exact Eq.symm (List.eraseIdx_eq_take_drop_succ φs' ↑n)
|
||
|
||
end FieldOpAlgebra
|
||
end FieldSpecification
|