refactor: Rename ofCrAnState and ofCrAnList
This commit is contained in:
parent
93d06895c6
commit
171e80fc04
11 changed files with 601 additions and 601 deletions
|
@ -24,13 +24,13 @@ variable (𝓕 : FieldSpecification)
|
|||
def fieldOpIdealSet : Set (FieldOpFreeAlgebra 𝓕) :=
|
||||
{ x |
|
||||
(∃ (φ1 φ2 φ3 : 𝓕.CrAnStates),
|
||||
x = [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca)
|
||||
x = [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca)
|
||||
∨ (∃ (φc φc' : 𝓕.CrAnStates) (_ : 𝓕 |>ᶜ φc = .create) (_ : 𝓕 |>ᶜ φc' = .create),
|
||||
x = [ofCrAnState φc, ofCrAnState φc']ₛca)
|
||||
x = [ofCrAnOpF φc, ofCrAnOpF φc']ₛca)
|
||||
∨ (∃ (φa φa' : 𝓕.CrAnStates) (_ : 𝓕 |>ᶜ φa = .annihilate) (_ : 𝓕 |>ᶜ φa' = .annihilate),
|
||||
x = [ofCrAnState φa, ofCrAnState φa']ₛca)
|
||||
x = [ofCrAnOpF φa, ofCrAnOpF φa']ₛca)
|
||||
∨ (∃ (φ φ' : 𝓕.CrAnStates) (_ : ¬ (𝓕 |>ₛ φ) = (𝓕 |>ₛ φ')),
|
||||
x = [ofCrAnState φ, ofCrAnState φ']ₛca)}
|
||||
x = [ofCrAnOpF φ, ofCrAnOpF φ']ₛca)}
|
||||
|
||||
/-- The algebra spanned by cr and an parts of fields, with appropriate super-commutors
|
||||
set to zero. -/
|
||||
|
@ -73,7 +73,7 @@ lemma ι_of_mem_fieldOpIdealSet (x : FieldOpFreeAlgebra 𝓕) (hx : x ∈ 𝓕.f
|
|||
simpa using hx
|
||||
|
||||
lemma ι_superCommuteF_of_create_create (φc φc' : 𝓕.CrAnStates) (hφc : 𝓕 |>ᶜ φc = .create)
|
||||
(hφc' : 𝓕 |>ᶜ φc' = .create) : ι [ofCrAnState φc, ofCrAnState φc']ₛca = 0 := by
|
||||
(hφc' : 𝓕 |>ᶜ φc' = .create) : ι [ofCrAnOpF φc, ofCrAnOpF φc']ₛca = 0 := by
|
||||
apply ι_of_mem_fieldOpIdealSet
|
||||
simp only [fieldOpIdealSet, exists_and_left, Set.mem_setOf_eq]
|
||||
simp only [exists_prop]
|
||||
|
@ -83,7 +83,7 @@ lemma ι_superCommuteF_of_create_create (φc φc' : 𝓕.CrAnStates) (hφc :
|
|||
|
||||
lemma ι_superCommuteF_of_annihilate_annihilate (φa φa' : 𝓕.CrAnStates)
|
||||
(hφa : 𝓕 |>ᶜ φa = .annihilate) (hφa' : 𝓕 |>ᶜ φa' = .annihilate) :
|
||||
ι [ofCrAnState φa, ofCrAnState φa']ₛca = 0 := by
|
||||
ι [ofCrAnOpF φa, ofCrAnOpF φa']ₛca = 0 := by
|
||||
apply ι_of_mem_fieldOpIdealSet
|
||||
simp only [fieldOpIdealSet, exists_and_left, Set.mem_setOf_eq]
|
||||
simp only [exists_prop]
|
||||
|
@ -93,7 +93,7 @@ lemma ι_superCommuteF_of_annihilate_annihilate (φa φa' : 𝓕.CrAnStates)
|
|||
use φa, φa', hφa, hφa'
|
||||
|
||||
lemma ι_superCommuteF_of_diff_statistic {φ ψ : 𝓕.CrAnStates}
|
||||
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) : ι [ofCrAnState φ, ofCrAnState ψ]ₛca = 0 := by
|
||||
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) : ι [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca = 0 := by
|
||||
apply ι_of_mem_fieldOpIdealSet
|
||||
simp only [fieldOpIdealSet, exists_prop, exists_and_left, Set.mem_setOf_eq]
|
||||
right
|
||||
|
@ -102,21 +102,21 @@ lemma ι_superCommuteF_of_diff_statistic {φ ψ : 𝓕.CrAnStates}
|
|||
use φ, ψ
|
||||
|
||||
lemma ι_superCommuteF_zero_of_fermionic (φ ψ : 𝓕.CrAnStates)
|
||||
(h : [ofCrAnState φ, ofCrAnState ψ]ₛca ∈ statisticSubmodule fermionic) :
|
||||
ι [ofCrAnState φ, ofCrAnState ψ]ₛca = 0 := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton] at h ⊢
|
||||
(h : [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca ∈ statisticSubmodule fermionic) :
|
||||
ι [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca = 0 := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton] at h ⊢
|
||||
rcases statistic_neq_of_superCommuteF_fermionic h with h | h
|
||||
· simp only [ofCrAnList_singleton]
|
||||
· simp only [ofCrAnListF_singleton]
|
||||
apply ι_superCommuteF_of_diff_statistic
|
||||
simpa using h
|
||||
· simp [h]
|
||||
|
||||
lemma ι_superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_zero (φ ψ : 𝓕.CrAnStates) :
|
||||
[ofCrAnState φ, ofCrAnState ψ]ₛca ∈ statisticSubmodule bosonic ∨
|
||||
ι [ofCrAnState φ, ofCrAnState ψ]ₛca = 0 := by
|
||||
rcases superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic [φ] [ψ] with h | h
|
||||
· simp_all [ofCrAnList_singleton]
|
||||
· simp_all only [ofCrAnList_singleton]
|
||||
lemma ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_zero (φ ψ : 𝓕.CrAnStates) :
|
||||
[ofCrAnOpF φ, ofCrAnOpF ψ]ₛca ∈ statisticSubmodule bosonic ∨
|
||||
ι [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca = 0 := by
|
||||
rcases superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic [φ] [ψ] with h | h
|
||||
· simp_all [ofCrAnListF_singleton]
|
||||
· simp_all only [ofCrAnListF_singleton]
|
||||
right
|
||||
exact ι_superCommuteF_zero_of_fermionic _ _ h
|
||||
|
||||
|
@ -127,63 +127,63 @@ lemma ι_superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_zero (φ ψ : 𝓕.CrA
|
|||
-/
|
||||
|
||||
@[simp]
|
||||
lemma ι_superCommuteF_ofCrAnState_superCommuteF_ofCrAnState_ofCrAnState (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
ι [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca = 0 := by
|
||||
lemma ι_superCommuteF_ofCrAnOpF_superCommuteF_ofCrAnOpF_ofCrAnOpF (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
ι [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca = 0 := by
|
||||
apply ι_of_mem_fieldOpIdealSet
|
||||
simp only [fieldOpIdealSet, exists_prop, exists_and_left, Set.mem_setOf_eq]
|
||||
left
|
||||
use φ1, φ2, φ3
|
||||
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_ofCrAnState (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
ι [[ofCrAnState φ1, ofCrAnState φ2]ₛca, ofCrAnState φ3]ₛca = 0 := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rcases superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic [φ1] [φ2] with h | h
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_ofCrAnOpF (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
ι [[ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca, ofCrAnOpF φ3]ₛca = 0 := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rcases superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic [φ1] [φ2] with h | h
|
||||
· rw [bonsonic_superCommuteF_symm h]
|
||||
simp [ofCrAnList_singleton]
|
||||
· rcases ofCrAnList_bosonic_or_fermionic [φ3] with h' | h'
|
||||
simp [ofCrAnListF_singleton]
|
||||
· rcases ofCrAnListF_bosonic_or_fermionic [φ3] with h' | h'
|
||||
· rw [superCommuteF_bonsonic_symm h']
|
||||
simp [ofCrAnList_singleton]
|
||||
simp [ofCrAnListF_singleton]
|
||||
· rw [superCommuteF_fermionic_fermionic_symm h h']
|
||||
simp [ofCrAnList_singleton]
|
||||
simp [ofCrAnListF_singleton]
|
||||
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_ofCrAnList (φ1 φ2 : 𝓕.CrAnStates)
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_ofCrAnListF (φ1 φ2 : 𝓕.CrAnStates)
|
||||
(φs : List 𝓕.CrAnStates) :
|
||||
ι [[ofCrAnState φ1, ofCrAnState φ2]ₛca, ofCrAnList φs]ₛca = 0 := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rcases superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic [φ1] [φ2] with h | h
|
||||
· rw [superCommuteF_bosonic_ofCrAnList_eq_sum _ _ h]
|
||||
simp [ofCrAnList_singleton, ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_ofCrAnState]
|
||||
· rw [superCommuteF_fermionic_ofCrAnList_eq_sum _ _ h]
|
||||
simp [ofCrAnList_singleton, ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_ofCrAnState]
|
||||
ι [[ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca, ofCrAnListF φs]ₛca = 0 := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rcases superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic [φ1] [φ2] with h | h
|
||||
· rw [superCommuteF_bosonic_ofCrAnListF_eq_sum _ _ h]
|
||||
simp [ofCrAnListF_singleton, ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_ofCrAnOpF]
|
||||
· rw [superCommuteF_fermionic_ofCrAnListF_eq_sum _ _ h]
|
||||
simp [ofCrAnListF_singleton, ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_ofCrAnOpF]
|
||||
|
||||
@[simp]
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_fieldOpFreeAlgebra (φ1 φ2 : 𝓕.CrAnStates)
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι [[ofCrAnState φ1, ofCrAnState φ2]ₛca, a]ₛca = 0 := by
|
||||
change (ι.toLinearMap ∘ₗ superCommuteF [ofCrAnState φ1, ofCrAnState φ2]ₛca) a = _
|
||||
have h1 : (ι.toLinearMap ∘ₗ superCommuteF [ofCrAnState φ1, ofCrAnState φ2]ₛca) = 0 := by
|
||||
apply (ofCrAnListBasis.ext fun l ↦ ?_)
|
||||
simp [ι_superCommuteF_superCommuteF_ofCrAnState_ofCrAnState_ofCrAnList]
|
||||
lemma ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_fieldOpFreeAlgebra (φ1 φ2 : 𝓕.CrAnStates)
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι [[ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca, a]ₛca = 0 := by
|
||||
change (ι.toLinearMap ∘ₗ superCommuteF [ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca) a = _
|
||||
have h1 : (ι.toLinearMap ∘ₗ superCommuteF [ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca) = 0 := by
|
||||
apply (ofCrAnListFBasis.ext fun l ↦ ?_)
|
||||
simp [ι_superCommuteF_superCommuteF_ofCrAnOpF_ofCrAnOpF_ofCrAnListF]
|
||||
rw [h1]
|
||||
simp
|
||||
|
||||
lemma ι_commute_fieldOpFreeAlgebra_superCommuteF_ofCrAnState_ofCrAnState (φ1 φ2 : 𝓕.CrAnStates)
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι a * ι [ofCrAnState φ1, ofCrAnState φ2]ₛca -
|
||||
ι [ofCrAnState φ1, ofCrAnState φ2]ₛca * ι a = 0 := by
|
||||
rcases ι_superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_zero φ1 φ2 with h | h
|
||||
lemma ι_commute_fieldOpFreeAlgebra_superCommuteF_ofCrAnOpF_ofCrAnOpF (φ1 φ2 : 𝓕.CrAnStates)
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι a * ι [ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca -
|
||||
ι [ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca * ι a = 0 := by
|
||||
rcases ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_zero φ1 φ2 with h | h
|
||||
swap
|
||||
· simp [h]
|
||||
trans - ι [[ofCrAnState φ1, ofCrAnState φ2]ₛca, a]ₛca
|
||||
trans - ι [[ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca, a]ₛca
|
||||
· rw [bosonic_superCommuteF h]
|
||||
simp
|
||||
· simp
|
||||
|
||||
lemma ι_superCommuteF_ofCrAnState_ofCrAnState_mem_center (φ ψ : 𝓕.CrAnStates) :
|
||||
ι [ofCrAnState φ, ofCrAnState ψ]ₛca ∈ Subalgebra.center ℂ 𝓕.FieldOpAlgebra := by
|
||||
lemma ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_mem_center (φ ψ : 𝓕.CrAnStates) :
|
||||
ι [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca ∈ Subalgebra.center ℂ 𝓕.FieldOpAlgebra := by
|
||||
rw [Subalgebra.mem_center_iff]
|
||||
intro a
|
||||
obtain ⟨a, rfl⟩ := ι_surjective a
|
||||
have h0 := ι_commute_fieldOpFreeAlgebra_superCommuteF_ofCrAnState_ofCrAnState φ ψ a
|
||||
trans ι ((superCommuteF (ofCrAnState φ)) (ofCrAnState ψ)) * ι a + 0
|
||||
have h0 := ι_commute_fieldOpFreeAlgebra_superCommuteF_ofCrAnOpF_ofCrAnOpF φ ψ a
|
||||
trans ι ((superCommuteF (ofCrAnOpF φ)) (ofCrAnOpF ψ)) * ι a + 0
|
||||
swap
|
||||
simp only [add_zero]
|
||||
rw [← h0]
|
||||
|
@ -209,25 +209,25 @@ lemma bosonicProj_mem_fieldOpIdealSet_or_zero (x : FieldOpFreeAlgebra 𝓕) (hx
|
|||
simp only [fieldOpIdealSet, exists_prop, Set.mem_setOf_eq] at hx
|
||||
rcases hx with ⟨φ1, φ2, φ3, rfl⟩ | ⟨φc, φc', hφc, hφc', rfl⟩ | ⟨φa, φa', hφa, hφa', rfl⟩ |
|
||||
⟨φ, φ', hdiff, rfl⟩
|
||||
· rcases superCommuteF_superCommuteF_ofCrAnState_bosonic_or_fermionic φ1 φ2 φ3 with h | h
|
||||
· rcases superCommuteF_superCommuteF_ofCrAnOpF_bosonic_or_fermionic φ1 φ2 φ3 with h | h
|
||||
· left
|
||||
rw [bosonicProj_of_mem_bosonic _ h]
|
||||
simpa using hx'
|
||||
· right
|
||||
rw [bosonicProj_of_mem_fermionic _ h]
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φc φc' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φc φc' with h | h
|
||||
· left
|
||||
rw [bosonicProj_of_mem_bosonic _ h]
|
||||
simpa using hx'
|
||||
· right
|
||||
rw [bosonicProj_of_mem_fermionic _ h]
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φa φa' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φa φa' with h | h
|
||||
· left
|
||||
rw [bosonicProj_of_mem_bosonic _ h]
|
||||
simpa using hx'
|
||||
· right
|
||||
rw [bosonicProj_of_mem_fermionic _ h]
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φ φ' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φ φ' with h | h
|
||||
· left
|
||||
rw [bosonicProj_of_mem_bosonic _ h]
|
||||
simpa using hx'
|
||||
|
@ -240,25 +240,25 @@ lemma fermionicProj_mem_fieldOpIdealSet_or_zero (x : FieldOpFreeAlgebra 𝓕) (h
|
|||
simp only [fieldOpIdealSet, exists_prop, Set.mem_setOf_eq] at hx
|
||||
rcases hx with ⟨φ1, φ2, φ3, rfl⟩ | ⟨φc, φc', hφc, hφc', rfl⟩ | ⟨φa, φa', hφa, hφa', rfl⟩ |
|
||||
⟨φ, φ', hdiff, rfl⟩
|
||||
· rcases superCommuteF_superCommuteF_ofCrAnState_bosonic_or_fermionic φ1 φ2 φ3 with h | h
|
||||
· rcases superCommuteF_superCommuteF_ofCrAnOpF_bosonic_or_fermionic φ1 φ2 φ3 with h | h
|
||||
· right
|
||||
rw [fermionicProj_of_mem_bosonic _ h]
|
||||
· left
|
||||
rw [fermionicProj_of_mem_fermionic _ h]
|
||||
simpa using hx'
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φc φc' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φc φc' with h | h
|
||||
· right
|
||||
rw [fermionicProj_of_mem_bosonic _ h]
|
||||
· left
|
||||
rw [fermionicProj_of_mem_fermionic _ h]
|
||||
simpa using hx'
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φa φa' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φa φa' with h | h
|
||||
· right
|
||||
rw [fermionicProj_of_mem_bosonic _ h]
|
||||
· left
|
||||
rw [fermionicProj_of_mem_fermionic _ h]
|
||||
simpa using hx'
|
||||
· rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φ φ' with h | h
|
||||
· rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φ φ' with h | h
|
||||
· right
|
||||
rw [fermionicProj_of_mem_bosonic _ h]
|
||||
· left
|
||||
|
@ -457,10 +457,10 @@ lemma ofFieldOpList_singleton (φ : 𝓕.States) :
|
|||
simp only [ofFieldOpList, ofFieldOp, ofFieldOpListF_singleton]
|
||||
|
||||
/-- An element of `FieldOpAlgebra` from a `CrAnStates`. -/
|
||||
def ofCrAnFieldOp (φ : 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnState φ)
|
||||
def ofCrAnFieldOp (φ : 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnOpF φ)
|
||||
|
||||
lemma ofCrAnFieldOp_eq_ι_ofCrAnState (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOp φ = ι (ofCrAnState φ) := rfl
|
||||
lemma ofCrAnFieldOp_eq_ι_ofCrAnOpF (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOp φ = ι (ofCrAnOpF φ) := rfl
|
||||
|
||||
lemma ofFieldOp_eq_sum (φ : 𝓕.States) :
|
||||
ofFieldOp φ = (∑ i : 𝓕.statesToCrAnType φ, ofCrAnFieldOp ⟨φ, i⟩) := by
|
||||
|
@ -469,20 +469,20 @@ lemma ofFieldOp_eq_sum (φ : 𝓕.States) :
|
|||
rfl
|
||||
|
||||
/-- An element of `FieldOpAlgebra` from a list of `CrAnStates`. -/
|
||||
def ofCrAnFieldOpList (φs : List 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnList φs)
|
||||
def ofCrAnFieldOpList (φs : List 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnListF φs)
|
||||
|
||||
lemma ofCrAnFieldOpList_eq_ι_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOpList φs = ι (ofCrAnList φs) := rfl
|
||||
lemma ofCrAnFieldOpList_eq_ι_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOpList φs = ι (ofCrAnListF φs) := rfl
|
||||
|
||||
lemma ofCrAnFieldOpList_append (φs ψs : List 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOpList (φs ++ ψs) = ofCrAnFieldOpList φs * ofCrAnFieldOpList ψs := by
|
||||
simp only [ofCrAnFieldOpList]
|
||||
rw [ofCrAnList_append]
|
||||
rw [ofCrAnListF_append]
|
||||
simp
|
||||
|
||||
lemma ofCrAnFieldOpList_singleton (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOpList [φ] = ofCrAnFieldOp φ := by
|
||||
simp only [ofCrAnFieldOpList, ofCrAnFieldOp, ofCrAnList_singleton]
|
||||
simp only [ofCrAnFieldOpList, ofCrAnFieldOp, ofCrAnListF_singleton]
|
||||
|
||||
lemma ofFieldOpList_eq_sum (φs : List 𝓕.States) :
|
||||
ofFieldOpList φs = ∑ s : CrAnSection φs, ofCrAnFieldOpList s.1 := by
|
||||
|
|
|
@ -30,106 +30,106 @@ is zero.
|
|||
|
||||
-/
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnList_eq_zero
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero
|
||||
(φa φa' : 𝓕.CrAnStates) (φs φs' : List 𝓕.CrAnStates) :
|
||||
ι 𝓝ᶠ(ofCrAnList φs * [ofCrAnState φa, ofCrAnState φa']ₛca * ofCrAnList φs') = 0 := by
|
||||
ι 𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * ofCrAnListF φs') = 0 := by
|
||||
rcases CreateAnnihilate.eq_create_or_annihilate (𝓕 |>ᶜ φa) with hφa | hφa
|
||||
<;> rcases CreateAnnihilate.eq_create_or_annihilate (𝓕 |>ᶜ φa') with hφa' | hφa'
|
||||
· rw [normalOrderF_superCommuteF_ofCrAnList_create_create_ofCrAnList φa φa' hφa hφa' φs φs']
|
||||
· rw [normalOrderF_superCommuteF_ofCrAnListF_create_create_ofCrAnListF φa φa' hφa hφa' φs φs']
|
||||
rw [map_smul, map_mul, map_mul, map_mul, ι_superCommuteF_of_create_create φa φa' hφa hφa']
|
||||
simp
|
||||
· rw [normalOrderF_superCommuteF_create_annihilate φa φa' hφa hφa' (ofCrAnList φs)
|
||||
(ofCrAnList φs')]
|
||||
· rw [normalOrderF_superCommuteF_create_annihilate φa φa' hφa hφa' (ofCrAnListF φs)
|
||||
(ofCrAnListF φs')]
|
||||
simp
|
||||
· rw [normalOrderF_superCommuteF_annihilate_create φa' φa hφa' hφa (ofCrAnList φs)
|
||||
(ofCrAnList φs')]
|
||||
· rw [normalOrderF_superCommuteF_annihilate_create φa' φa hφa' hφa (ofCrAnListF φs)
|
||||
(ofCrAnListF φs')]
|
||||
simp
|
||||
· rw [normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
||||
· rw [normalOrderF_superCommuteF_ofCrAnListF_annihilate_annihilate_ofCrAnListF
|
||||
φa φa' hφa hφa' φs φs']
|
||||
rw [map_smul, map_mul, map_mul, map_mul,
|
||||
ι_superCommuteF_of_annihilate_annihilate φa φa' hφa hφa']
|
||||
simp
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnList_eq_zero
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero
|
||||
(φa φa' : 𝓕.CrAnStates) (φs : List 𝓕.CrAnStates)
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι 𝓝ᶠ(ofCrAnList φs * [ofCrAnState φa, ofCrAnState φa']ₛca * a) = 0 := by
|
||||
(a : 𝓕.FieldOpFreeAlgebra) : ι 𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * a) = 0 := by
|
||||
have hf : ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap (ofCrAnList φs * [ofCrAnState φa, ofCrAnState φa']ₛca) = 0 := by
|
||||
apply ofCrAnListBasis.ext
|
||||
mulLinearMap (ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca) = 0 := by
|
||||
apply ofCrAnListFBasis.ext
|
||||
intro l
|
||||
simp only [FieldOpFreeAlgebra.ofListBasis_eq_ofList, LinearMap.coe_comp, Function.comp_apply,
|
||||
AlgHom.toLinearMap_apply, LinearMap.zero_apply]
|
||||
exact ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnList_eq_zero φa φa' φs l
|
||||
exact ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero φa φa' φs l
|
||||
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap ((ofCrAnList φs * [ofCrAnState φa, ofCrAnState φa']ₛca))) a = 0
|
||||
mulLinearMap ((ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca))) a = 0
|
||||
rw [hf]
|
||||
simp
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnState_eq_zero_mul (φa φa' : 𝓕.CrAnStates)
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnOpF_eq_zero_mul (φa φa' : 𝓕.CrAnStates)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓝ᶠ(a * [ofCrAnState φa, ofCrAnState φa']ₛca * b) = 0 := by
|
||||
ι 𝓝ᶠ(a * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b) = 0 := by
|
||||
rw [mul_assoc]
|
||||
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ mulLinearMap.flip
|
||||
([ofCrAnState φa, ofCrAnState φa']ₛca * b)) a = 0
|
||||
([ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b)) a = 0
|
||||
have hf : ι.toLinearMap ∘ₗ normalOrderF ∘ₗ mulLinearMap.flip
|
||||
([ofCrAnState φa, ofCrAnState φa']ₛca * b) = 0 := by
|
||||
apply ofCrAnListBasis.ext
|
||||
([ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b) = 0 := by
|
||||
apply ofCrAnListFBasis.ext
|
||||
intro l
|
||||
simp only [mulLinearMap, FieldOpFreeAlgebra.ofListBasis_eq_ofList, LinearMap.coe_comp,
|
||||
Function.comp_apply, LinearMap.flip_apply, LinearMap.coe_mk, AddHom.coe_mk,
|
||||
AlgHom.toLinearMap_apply, LinearMap.zero_apply]
|
||||
rw [← mul_assoc]
|
||||
exact ι_normalOrderF_superCommuteF_ofCrAnList_eq_zero φa φa' _ _
|
||||
exact ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero φa φa' _ _
|
||||
rw [hf]
|
||||
simp
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnState_ofCrAnList_eq_zero_mul (φa : 𝓕.CrAnStates)
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnOpF_ofCrAnListF_eq_zero_mul (φa : 𝓕.CrAnStates)
|
||||
(φs : List 𝓕.CrAnStates)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓝ᶠ(a * [ofCrAnState φa, ofCrAnList φs]ₛca * b) = 0 := by
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList_eq_sum]
|
||||
ι 𝓝ᶠ(a * [ofCrAnOpF φa, ofCrAnListF φs]ₛca * b) = 0 := by
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
||||
rw [Finset.mul_sum, Finset.sum_mul]
|
||||
rw [map_sum, map_sum]
|
||||
apply Fintype.sum_eq_zero
|
||||
intro n
|
||||
rw [← mul_assoc, ← mul_assoc]
|
||||
rw [mul_assoc _ _ b, ofCrAnList_singleton]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnState_eq_zero_mul]
|
||||
rw [mul_assoc _ _ b, ofCrAnListF_singleton]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnOpF_eq_zero_mul]
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnState_eq_zero_mul (φa : 𝓕.CrAnStates)
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnOpF_eq_zero_mul (φa : 𝓕.CrAnStates)
|
||||
(φs : List 𝓕.CrAnStates) (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓝ᶠ(a * [ofCrAnList φs, ofCrAnState φa]ₛca * b) = 0 := by
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList_symm, ofCrAnList_singleton]
|
||||
ι 𝓝ᶠ(a * [ofCrAnListF φs, ofCrAnOpF φa]ₛca * b) = 0 := by
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF_symm, ofCrAnListF_singleton]
|
||||
simp only [FieldStatistic.instCommGroup.eq_1, FieldStatistic.ofList_singleton, mul_neg,
|
||||
Algebra.mul_smul_comm, neg_mul, Algebra.smul_mul_assoc, map_neg, map_smul]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnState_ofCrAnList_eq_zero_mul]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnOpF_ofCrAnListF_eq_zero_mul]
|
||||
simp
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnList_eq_zero_mul
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero_mul
|
||||
(φs φs' : List 𝓕.CrAnStates) (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓝ᶠ(a * [ofCrAnList φs, ofCrAnList φs']ₛca * b) = 0 := by
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList_eq_sum, Finset.mul_sum, Finset.sum_mul]
|
||||
ι 𝓝ᶠ(a * [ofCrAnListF φs, ofCrAnListF φs']ₛca * b) = 0 := by
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum, Finset.mul_sum, Finset.sum_mul]
|
||||
rw [map_sum, map_sum]
|
||||
apply Fintype.sum_eq_zero
|
||||
intro n
|
||||
rw [← mul_assoc, ← mul_assoc]
|
||||
rw [mul_assoc _ _ b]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnState_eq_zero_mul]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnOpF_eq_zero_mul]
|
||||
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnList_eq_zero_mul
|
||||
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero_mul
|
||||
(φs : List 𝓕.CrAnStates)
|
||||
(a b c : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓝ᶠ(a * [ofCrAnList φs, c]ₛca * b) = 0 := by
|
||||
ι 𝓝ᶠ(a * [ofCrAnListF φs, c]ₛca * b) = 0 := by
|
||||
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnList φs)) c = 0
|
||||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnListF φs)) c = 0
|
||||
have hf : (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnList φs)) = 0 := by
|
||||
apply ofCrAnListBasis.ext
|
||||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnListF φs)) = 0 := by
|
||||
apply ofCrAnListFBasis.ext
|
||||
intro φs'
|
||||
simp only [mulLinearMap, LinearMap.coe_mk, AddHom.coe_mk, FieldOpFreeAlgebra.ofListBasis_eq_ofList,
|
||||
LinearMap.coe_comp, Function.comp_apply, LinearMap.flip_apply, AlgHom.toLinearMap_apply,
|
||||
LinearMap.zero_apply]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnList_eq_zero_mul]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero_mul]
|
||||
rw [hf]
|
||||
simp
|
||||
|
||||
|
@ -140,12 +140,12 @@ lemma ι_normalOrderF_superCommuteF_eq_zero_mul
|
|||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF.flip c) d = 0
|
||||
have hf : (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF.flip c) = 0 := by
|
||||
apply ofCrAnListBasis.ext
|
||||
apply ofCrAnListFBasis.ext
|
||||
intro φs
|
||||
simp only [mulLinearMap, LinearMap.coe_mk, AddHom.coe_mk, FieldOpFreeAlgebra.ofListBasis_eq_ofList,
|
||||
LinearMap.coe_comp, Function.comp_apply, LinearMap.flip_apply, AlgHom.toLinearMap_apply,
|
||||
LinearMap.zero_apply]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnList_eq_zero_mul]
|
||||
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero_mul]
|
||||
rw [hf]
|
||||
simp
|
||||
|
||||
|
@ -246,7 +246,7 @@ lemma normalOrder_eq_ι_normalOrderF (a : 𝓕.FieldOpFreeAlgebra) :
|
|||
|
||||
lemma normalOrder_ofCrAnFieldOpList (φs : List 𝓕.CrAnStates) :
|
||||
𝓝(ofCrAnFieldOpList φs) = normalOrderSign φs • ofCrAnFieldOpList (normalOrderList φs) := by
|
||||
rw [ofCrAnFieldOpList, normalOrder_eq_ι_normalOrderF, normalOrderF_ofCrAnList]
|
||||
rw [ofCrAnFieldOpList, normalOrder_eq_ι_normalOrderF, normalOrderF_ofCrAnListF]
|
||||
rfl
|
||||
|
||||
@[simp]
|
||||
|
|
|
@ -171,7 +171,7 @@ lemma superCommute_anPart_ofFieldOpF_diff_grade_zero (φ ψ : 𝓕.States)
|
|||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ ∈ Subalgebra.center ℂ (FieldOpAlgebra 𝓕) := by
|
||||
rw [ofCrAnFieldOp, ofCrAnFieldOp, superCommute_eq_ι_superCommuteF]
|
||||
exact ι_superCommuteF_ofCrAnState_ofCrAnState_mem_center φ φ'
|
||||
exact ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_mem_center φ φ'
|
||||
|
||||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute (φ φ' : 𝓕.CrAnStates)
|
||||
(a : FieldOpAlgebra 𝓕) :
|
||||
|
@ -215,15 +215,15 @@ lemma superCommute_anPart_ofFieldOp_mem_center (φ φ' : 𝓕.States) :
|
|||
lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
|
||||
ofCrAnFieldOpList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnFieldOpList (φs' ++ φs) := by
|
||||
rw [ofCrAnFieldOpList_eq_ι_ofCrAnList, ofCrAnFieldOpList_eq_ι_ofCrAnList]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [ofCrAnFieldOpList_eq_ι_ofCrAnListF, ofCrAnFieldOpList_eq_ι_ofCrAnListF]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
rfl
|
||||
|
||||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = ofCrAnFieldOp φ * ofCrAnFieldOp φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofCrAnFieldOp φ' * ofCrAnFieldOp φ := by
|
||||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnState_ofCrAnState]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||||
rfl
|
||||
|
||||
lemma superCommute_ofCrAnFieldOpList_ofFieldOpList (φcas : List 𝓕.CrAnStates)
|
||||
|
@ -231,7 +231,7 @@ lemma superCommute_ofCrAnFieldOpList_ofFieldOpList (φcas : List 𝓕.CrAnStates
|
|||
[ofCrAnFieldOpList φcas, ofFieldOpList φs]ₛ = ofCrAnFieldOpList φcas * ofFieldOpList φs -
|
||||
𝓢(𝓕 |>ₛ φcas, 𝓕 |>ₛ φs) • ofFieldOpList φs * ofCrAnFieldOpList φcas := by
|
||||
rw [ofCrAnFieldOpList, ofFieldOpList]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [superCommute_eq_ι_superCommuteF, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
rfl
|
||||
|
||||
lemma superCommute_ofFieldOpList_ofFieldOpList (φs φs' : List 𝓕.States) :
|
||||
|
@ -445,14 +445,14 @@ lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_symm (φs φs' : List
|
|||
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
|
||||
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnFieldOpList φs', ofCrAnFieldOpList φs]ₛ := by
|
||||
rw [ofCrAnFieldOpList, ofCrAnFieldOpList, superCommute_eq_ι_superCommuteF,
|
||||
superCommuteF_ofCrAnList_ofCrAnList_symm]
|
||||
superCommuteF_ofCrAnListF_ofCrAnListF_symm]
|
||||
rfl
|
||||
|
||||
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_symm (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ =
|
||||
(- 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ')) • [ofCrAnFieldOp φ', ofCrAnFieldOp φ]ₛ := by
|
||||
rw [ofCrAnFieldOp, ofCrAnFieldOp, superCommute_eq_ι_superCommuteF,
|
||||
superCommuteF_ofCrAnState_ofCrAnState_symm]
|
||||
superCommuteF_ofCrAnOpF_ofCrAnOpF_symm]
|
||||
rfl
|
||||
|
||||
/-!
|
||||
|
@ -468,7 +468,7 @@ lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_eq_sum (φs φs' : List
|
|||
ofCrAnFieldOpList (φs'.drop (n + 1)) := by
|
||||
conv_lhs =>
|
||||
rw [ofCrAnFieldOpList, ofCrAnFieldOpList, superCommute_eq_ι_superCommuteF,
|
||||
superCommuteF_ofCrAnList_ofCrAnList_eq_sum]
|
||||
superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
||||
rw [map_sum]
|
||||
rfl
|
||||
|
||||
|
@ -494,7 +494,7 @@ lemma superCommute_ofCrAnFieldOpList_ofFieldOpList_eq_sum (φs : List 𝓕.CrAnS
|
|||
ofFieldOpList (φs'.drop (n + 1)) := by
|
||||
conv_lhs =>
|
||||
rw [ofCrAnFieldOpList, ofFieldOpList, superCommute_eq_ι_superCommuteF,
|
||||
superCommuteF_ofCrAnList_ofFieldOpListF_eq_sum]
|
||||
superCommuteF_ofCrAnListF_ofFieldOpListF_eq_sum]
|
||||
rw [map_sum]
|
||||
rfl
|
||||
|
||||
|
|
|
@ -19,13 +19,13 @@ open FieldStatistic
|
|||
namespace FieldOpAlgebra
|
||||
variable {𝓕 : FieldSpecification}
|
||||
|
||||
lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3 : 𝓕.CrAnStates}
|
||||
lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnListF {φ1 φ2 φ3 : 𝓕.CrAnStates}
|
||||
(φs1 φs2 : List 𝓕.CrAnStates) (h :
|
||||
crAnTimeOrderRel φ1 φ2 ∧ crAnTimeOrderRel φ1 φ3 ∧
|
||||
crAnTimeOrderRel φ2 φ1 ∧ crAnTimeOrderRel φ2 φ3 ∧
|
||||
crAnTimeOrderRel φ3 φ1 ∧ crAnTimeOrderRel φ3 φ2) :
|
||||
ι 𝓣ᶠ(ofCrAnList φs1 * [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca *
|
||||
ofCrAnList φs2) = 0 := by
|
||||
ι 𝓣ᶠ(ofCrAnListF φs1 * [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca *
|
||||
ofCrAnListF φs2) = 0 := by
|
||||
let l1 :=
|
||||
(List.takeWhile (fun c => ¬ crAnTimeOrderRel φ1 c)
|
||||
((φs1 ++ φs2).insertionSort crAnTimeOrderRel))
|
||||
|
@ -33,24 +33,24 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3
|
|||
let l2 := (List.filter (fun c => crAnTimeOrderRel φ1 c ∧ crAnTimeOrderRel c φ1) φs2)
|
||||
++ (List.filter (fun c => crAnTimeOrderRel φ1 c ∧ ¬ crAnTimeOrderRel c φ1)
|
||||
((φs1 ++ φs2).insertionSort crAnTimeOrderRel))
|
||||
have h123 : ι 𝓣ᶠ(ofCrAnList (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)) =
|
||||
have h123 : ι 𝓣ᶠ(ofCrAnListF (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)) =
|
||||
crAnTimeOrderSign (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)
|
||||
• (ι (ofCrAnList l1) * ι (ofCrAnList [φ1, φ2, φ3]) * ι (ofCrAnList l2)) := by
|
||||
• (ι (ofCrAnListF l1) * ι (ofCrAnListF [φ1, φ2, φ3]) * ι (ofCrAnListF l2)) := by
|
||||
have h1 := insertionSort_of_eq_list 𝓕.crAnTimeOrderRel φ1 φs1 [φ1, φ2, φ3] φs2
|
||||
(by simp_all)
|
||||
rw [timeOrderF_ofCrAnList, show φs1 ++ φ1 :: φ2 :: φ3 :: φs2 = φs1 ++ [φ1, φ2, φ3] ++ φs2
|
||||
rw [timeOrderF_ofCrAnListF, show φs1 ++ φ1 :: φ2 :: φ3 :: φs2 = φs1 ++ [φ1, φ2, φ3] ++ φs2
|
||||
by simp, crAnTimeOrderList, h1]
|
||||
simp only [List.append_assoc, List.singleton_append, decide_not,
|
||||
Bool.decide_and, ofCrAnList_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
have h132 : ι 𝓣ᶠ(ofCrAnList (φs1 ++ φ1 :: φ3 :: φ2 :: φs2)) =
|
||||
Bool.decide_and, ofCrAnListF_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
have h132 : ι 𝓣ᶠ(ofCrAnListF (φs1 ++ φ1 :: φ3 :: φ2 :: φs2)) =
|
||||
crAnTimeOrderSign (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)
|
||||
• (ι (ofCrAnList l1) * ι (ofCrAnList [φ1, φ3, φ2]) * ι (ofCrAnList l2)) := by
|
||||
• (ι (ofCrAnListF l1) * ι (ofCrAnListF [φ1, φ3, φ2]) * ι (ofCrAnListF l2)) := by
|
||||
have h1 := insertionSort_of_eq_list 𝓕.crAnTimeOrderRel φ1 φs1 [φ1, φ3, φ2] φs2
|
||||
(by simp_all)
|
||||
rw [timeOrderF_ofCrAnList, show φs1 ++ φ1 :: φ3 :: φ2 :: φs2 = φs1 ++ [φ1, φ3, φ2] ++ φs2
|
||||
rw [timeOrderF_ofCrAnListF, show φs1 ++ φ1 :: φ3 :: φ2 :: φs2 = φs1 ++ [φ1, φ3, φ2] ++ φs2
|
||||
by simp, crAnTimeOrderList, h1]
|
||||
simp only [List.singleton_append, decide_not,
|
||||
Bool.decide_and, ofCrAnList_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
Bool.decide_and, ofCrAnListF_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
congr 1
|
||||
have hp : List.Perm [φ1, φ3, φ2] [φ1, φ2, φ3] := by
|
||||
refine List.Perm.cons φ1 ?_
|
||||
|
@ -67,15 +67,15 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3
|
|||
refine List.Perm.trans (l₂ := [φ2, φ1, φ3]) ?_ ?_
|
||||
refine List.Perm.cons φ2 (List.Perm.swap φ1 φ3 [])
|
||||
exact List.Perm.swap φ1 φ2 [φ3]
|
||||
have h231 : ι 𝓣ᶠ(ofCrAnList (φs1 ++ φ2 :: φ3 :: φ1 :: φs2)) =
|
||||
have h231 : ι 𝓣ᶠ(ofCrAnListF (φs1 ++ φ2 :: φ3 :: φ1 :: φs2)) =
|
||||
crAnTimeOrderSign (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)
|
||||
• (ι (ofCrAnList l1) * ι (ofCrAnList [φ2, φ3, φ1]) * ι (ofCrAnList l2)) := by
|
||||
• (ι (ofCrAnListF l1) * ι (ofCrAnListF [φ2, φ3, φ1]) * ι (ofCrAnListF l2)) := by
|
||||
have h1 := insertionSort_of_eq_list 𝓕.crAnTimeOrderRel φ1 φs1 [φ2, φ3, φ1] φs2
|
||||
(by simp_all)
|
||||
rw [timeOrderF_ofCrAnList, show φs1 ++ φ2 :: φ3 :: φ1 :: φs2 = φs1 ++ [φ2, φ3, φ1] ++ φs2
|
||||
rw [timeOrderF_ofCrAnListF, show φs1 ++ φ2 :: φ3 :: φ1 :: φs2 = φs1 ++ [φ2, φ3, φ1] ++ φs2
|
||||
by simp, crAnTimeOrderList, h1]
|
||||
simp only [List.singleton_append, decide_not,
|
||||
Bool.decide_and, ofCrAnList_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
Bool.decide_and, ofCrAnListF_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
congr 1
|
||||
rw [crAnTimeOrderSign, Wick.koszulSign_perm_eq _ _ φ1 _ _ _ _ _ hp231, ← crAnTimeOrderSign]
|
||||
· simp
|
||||
|
@ -85,15 +85,15 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3
|
|||
all_goals
|
||||
subst hφ4
|
||||
simp_all
|
||||
have h321 : ι 𝓣ᶠ(ofCrAnList (φs1 ++ φ3 :: φ2 :: φ1 :: φs2)) =
|
||||
have h321 : ι 𝓣ᶠ(ofCrAnListF (φs1 ++ φ3 :: φ2 :: φ1 :: φs2)) =
|
||||
crAnTimeOrderSign (φs1 ++ φ1 :: φ2 :: φ3 :: φs2)
|
||||
• (ι (ofCrAnList l1) * ι (ofCrAnList [φ3, φ2, φ1]) * ι (ofCrAnList l2)) := by
|
||||
• (ι (ofCrAnListF l1) * ι (ofCrAnListF [φ3, φ2, φ1]) * ι (ofCrAnListF l2)) := by
|
||||
have h1 := insertionSort_of_eq_list 𝓕.crAnTimeOrderRel φ1 φs1 [φ3, φ2, φ1] φs2
|
||||
(by simp_all)
|
||||
rw [timeOrderF_ofCrAnList, show φs1 ++ φ3 :: φ2 :: φ1 :: φs2 = φs1 ++ [φ3, φ2, φ1] ++ φs2
|
||||
rw [timeOrderF_ofCrAnListF, show φs1 ++ φ3 :: φ2 :: φ1 :: φs2 = φs1 ++ [φ3, φ2, φ1] ++ φs2
|
||||
by simp, crAnTimeOrderList, h1]
|
||||
simp only [List.singleton_append, decide_not,
|
||||
Bool.decide_and, ofCrAnList_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
Bool.decide_and, ofCrAnListF_append, map_smul, map_mul, l1, l2, mul_assoc]
|
||||
congr 1
|
||||
have hp : List.Perm [φ3, φ2, φ1] [φ1, φ2, φ3] := by
|
||||
refine List.Perm.trans ?_ hp231
|
||||
|
@ -106,12 +106,12 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3
|
|||
all_goals
|
||||
subst hφ4
|
||||
simp_all
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [List.singleton_append, instCommGroup.eq_1, ofList_singleton, map_sub, map_smul]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [List.cons_append, List.nil_append, instCommGroup.eq_1, ofList_singleton, mul_sub, ←
|
||||
ofCrAnList_append, Algebra.mul_smul_comm, sub_mul, List.append_assoc, Algebra.smul_mul_assoc,
|
||||
ofCrAnListF_append, Algebra.mul_smul_comm, sub_mul, List.append_assoc, Algebra.smul_mul_assoc,
|
||||
map_sub, map_smul]
|
||||
rw [h123, h132, h231, h321]
|
||||
simp only [smul_smul]
|
||||
|
@ -127,49 +127,49 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList {φ1 φ2 φ3
|
|||
repeat rw [mul_assoc]
|
||||
rw [← mul_sub, ← mul_sub, ← mul_sub]
|
||||
rw [← sub_mul, ← sub_mul, ← sub_mul]
|
||||
trans ι (ofCrAnList l1) * ι [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca *
|
||||
ι (ofCrAnList l2)
|
||||
trans ι (ofCrAnListF l1) * ι [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca *
|
||||
ι (ofCrAnListF l2)
|
||||
rw [mul_assoc]
|
||||
congr
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [List.singleton_append, instCommGroup.eq_1, ofList_singleton, map_sub, map_smul]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [List.cons_append, List.nil_append, instCommGroup.eq_1, ofList_singleton, map_sub,
|
||||
map_smul, smul_sub]
|
||||
simp_all
|
||||
|
||||
lemma ι_timeOrderF_superCommuteF_superCommuteF_ofCrAnList {φ1 φ2 φ3 : 𝓕.CrAnStates}
|
||||
lemma ι_timeOrderF_superCommuteF_superCommuteF_ofCrAnListF {φ1 φ2 φ3 : 𝓕.CrAnStates}
|
||||
(φs1 φs2 : List 𝓕.CrAnStates) :
|
||||
ι 𝓣ᶠ(ofCrAnList φs1 * [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca * ofCrAnList φs2)
|
||||
ι 𝓣ᶠ(ofCrAnListF φs1 * [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca * ofCrAnListF φs2)
|
||||
= 0 := by
|
||||
by_cases h :
|
||||
crAnTimeOrderRel φ1 φ2 ∧ crAnTimeOrderRel φ1 φ3 ∧
|
||||
crAnTimeOrderRel φ2 φ1 ∧ crAnTimeOrderRel φ2 φ3 ∧
|
||||
crAnTimeOrderRel φ3 φ1 ∧ crAnTimeOrderRel φ3 φ2
|
||||
· exact ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnList φs1 φs2 h
|
||||
· exact ι_timeOrderF_superCommuteF_superCommuteF_eq_time_ofCrAnListF φs1 φs2 h
|
||||
· rw [timeOrderF_timeOrderF_mid]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_superCommuteF_all_not_crAnTimeOrderRel _ _ _ h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_all_not_crAnTimeOrderRel _ _ _ h]
|
||||
simp
|
||||
|
||||
@[simp]
|
||||
lemma ι_timeOrderF_superCommuteF_superCommuteF {φ1 φ2 φ3 : 𝓕.CrAnStates} (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓣ᶠ(a * [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca * b) = 0 := by
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hc : b ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca * b) = 0
|
||||
ι 𝓣ᶠ(a * [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca * b) = 0 := by
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hc : b ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca * b) = 0
|
||||
change pb b (Basis.mem_span _ b)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs, rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pb]
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (hc : a ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca * ofCrAnList φs) = 0
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (hc : a ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca * ofCrAnListF φs) = 0
|
||||
change pa a (Basis.mem_span _ a)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pa]
|
||||
exact ι_timeOrderF_superCommuteF_superCommuteF_ofCrAnList φs' φs
|
||||
exact ι_timeOrderF_superCommuteF_superCommuteF_ofCrAnListF φs' φs
|
||||
· simp [pa]
|
||||
· intro x y hx hy hpx hpy
|
||||
simp_all [pa,mul_add, add_mul]
|
||||
|
@ -183,28 +183,28 @@ lemma ι_timeOrderF_superCommuteF_superCommuteF {φ1 φ2 φ3 : 𝓕.CrAnStates}
|
|||
|
||||
lemma ι_timeOrderF_superCommuteF_eq_time {φ ψ : 𝓕.CrAnStates}
|
||||
(hφψ : crAnTimeOrderRel φ ψ) (hψφ : crAnTimeOrderRel ψ φ) (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca * b) =
|
||||
ι ([ofCrAnState φ, ofCrAnState ψ]ₛca * 𝓣ᶠ(a * b)) := by
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hc : b ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca * b) =
|
||||
ι ([ofCrAnState φ, ofCrAnState ψ]ₛca * 𝓣ᶠ(a * b))
|
||||
ι 𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * b) =
|
||||
ι ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * 𝓣ᶠ(a * b)) := by
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hc : b ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * b) =
|
||||
ι ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * 𝓣ᶠ(a * b))
|
||||
change pb b (Basis.mem_span _ b)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs, rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, map_mul, pb]
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (hc : a ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca * ofCrAnList φs) =
|
||||
ι ([ofCrAnState φ, ofCrAnState ψ]ₛca * 𝓣ᶠ(a* ofCrAnList φs))
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (hc : a ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := ι 𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * ofCrAnListF φs) =
|
||||
ι ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * 𝓣ᶠ(a* ofCrAnListF φs))
|
||||
change pa a (Basis.mem_span _ a)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, map_mul, pa]
|
||||
conv_lhs =>
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [mul_sub, sub_mul, ← ofCrAnList_append]
|
||||
rw [timeOrderF_ofCrAnList, timeOrderF_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [mul_sub, sub_mul, ← ofCrAnListF_append]
|
||||
rw [timeOrderF_ofCrAnListF, timeOrderF_ofCrAnListF]
|
||||
have h1 : crAnTimeOrderSign (φs' ++ φ :: ψ :: φs) =
|
||||
crAnTimeOrderSign (φs' ++ ψ :: φ :: φs) := by
|
||||
trans crAnTimeOrderSign (φs' ++ [φ, ψ] ++ φs)
|
||||
|
@ -223,7 +223,7 @@ lemma ι_timeOrderF_superCommuteF_eq_time {φ ψ : 𝓕.CrAnStates}
|
|||
have h2 := insertionSort_of_eq_list 𝓕.crAnTimeOrderRel φ φs' [ψ, φ] φs
|
||||
(by simp_all)
|
||||
rw [crAnTimeOrderList, show φs' ++ ψ :: φ :: φs = φs' ++ [ψ, φ] ++ φs by simp, h2]
|
||||
repeat rw [ofCrAnList_append]
|
||||
repeat rw [ofCrAnListF_append]
|
||||
rw [smul_smul, mul_comm, ← smul_smul, ← smul_sub]
|
||||
rw [map_mul, map_mul, map_mul, map_mul, map_mul, map_mul, map_mul, map_mul]
|
||||
rw [← mul_smul_comm]
|
||||
|
@ -231,26 +231,26 @@ lemma ι_timeOrderF_superCommuteF_eq_time {φ ψ : 𝓕.CrAnStates}
|
|||
rw [← mul_sub, ← mul_sub, mul_smul_comm, mul_smul_comm, ← smul_mul_assoc,
|
||||
← smul_mul_assoc]
|
||||
rw [← sub_mul]
|
||||
have h1 : (ι (ofCrAnList [φ, ψ]) -
|
||||
(exchangeSign (𝓕.crAnStatistics φ)) (𝓕.crAnStatistics ψ) • ι (ofCrAnList [ψ, φ])) =
|
||||
ι [ofCrAnState φ, ofCrAnState ψ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_append]
|
||||
have h1 : (ι (ofCrAnListF [φ, ψ]) -
|
||||
(exchangeSign (𝓕.crAnStatistics φ)) (𝓕.crAnStatistics ψ) • ι (ofCrAnListF [ψ, φ])) =
|
||||
ι [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_append]
|
||||
simp only [instCommGroup.eq_1, List.singleton_append, Algebra.smul_mul_assoc, map_sub,
|
||||
map_smul]
|
||||
rw [← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_append]
|
||||
simp
|
||||
rw [h1]
|
||||
have hc : ι ((superCommuteF (ofCrAnState φ)) (ofCrAnState ψ)) ∈
|
||||
have hc : ι ((superCommuteF (ofCrAnOpF φ)) (ofCrAnOpF ψ)) ∈
|
||||
Subalgebra.center ℂ 𝓕.FieldOpAlgebra := by
|
||||
apply ι_superCommuteF_ofCrAnState_ofCrAnState_mem_center
|
||||
apply ι_superCommuteF_ofCrAnOpF_ofCrAnOpF_mem_center
|
||||
rw [Subalgebra.mem_center_iff] at hc
|
||||
repeat rw [← mul_assoc]
|
||||
rw [hc]
|
||||
repeat rw [mul_assoc]
|
||||
rw [smul_mul_assoc]
|
||||
rw [← map_mul, ← map_mul, ← map_mul, ← map_mul]
|
||||
rw [← ofCrAnList_append, ← ofCrAnList_append, ← ofCrAnList_append, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_append, ← ofCrAnListF_append, ← ofCrAnListF_append, ← ofCrAnListF_append]
|
||||
have h1 := insertionSort_of_takeWhile_filter 𝓕.crAnTimeOrderRel φ φs' φs
|
||||
simp only [decide_not, Bool.decide_and, List.append_assoc, List.cons_append,
|
||||
List.singleton_append, Algebra.mul_smul_comm, map_mul] at h1 ⊢
|
||||
|
@ -260,7 +260,7 @@ lemma ι_timeOrderF_superCommuteF_eq_time {φ ψ : 𝓕.CrAnStates}
|
|||
· rw [ι_superCommuteF_of_diff_statistic hq]
|
||||
simp
|
||||
· rw [crAnTimeOrderSign, Wick.koszulSign_eq_rel_eq_stat _ _, ← crAnTimeOrderSign]
|
||||
rw [timeOrderF_ofCrAnList]
|
||||
rw [timeOrderF_ofCrAnListF]
|
||||
simp only [map_smul, Algebra.mul_smul_comm]
|
||||
simp only [List.nil_append]
|
||||
exact hψφ
|
||||
|
@ -279,18 +279,18 @@ lemma ι_timeOrderF_superCommuteF_eq_time {φ ψ : 𝓕.CrAnStates}
|
|||
|
||||
lemma ι_timeOrderF_superCommuteF_neq_time {φ ψ : 𝓕.CrAnStates}
|
||||
(hφψ : ¬ (crAnTimeOrderRel φ ψ ∧ crAnTimeOrderRel ψ φ)) (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
ι 𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca * b) = 0 := by
|
||||
ι 𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * b) = 0 := by
|
||||
rw [timeOrderF_timeOrderF_mid]
|
||||
have hφψ : ¬ (crAnTimeOrderRel φ ψ) ∨ ¬ (crAnTimeOrderRel ψ φ) := by
|
||||
exact Decidable.not_and_iff_or_not.mp hφψ
|
||||
rcases hφψ with hφψ | hφψ
|
||||
· rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel]
|
||||
· rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel]
|
||||
simp_all only [false_and, not_false_eq_true, false_or, mul_zero, zero_mul, map_zero]
|
||||
simp_all
|
||||
· rw [superCommuteF_ofCrAnState_ofCrAnState_symm]
|
||||
· rw [superCommuteF_ofCrAnOpF_ofCrAnOpF_symm]
|
||||
simp only [instCommGroup.eq_1, neg_smul, map_neg, map_smul, mul_neg, Algebra.mul_smul_comm,
|
||||
neg_mul, Algebra.smul_mul_assoc, neg_eq_zero, smul_eq_zero]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel]
|
||||
simp only [mul_zero, zero_mul, map_zero, or_true]
|
||||
simp_all
|
||||
|
||||
|
@ -458,7 +458,7 @@ lemma timeOrder_superCommute_neq_time {φ ψ : 𝓕.CrAnStates}
|
|||
rw [ofCrAnFieldOp, ofCrAnFieldOp]
|
||||
rw [superCommute_eq_ι_superCommuteF]
|
||||
rw [timeOrder_eq_ι_timeOrderF]
|
||||
trans ι (timeOrderF (1 * (superCommuteF (ofCrAnState φ)) (ofCrAnState ψ) * 1))
|
||||
trans ι (timeOrderF (1 * (superCommuteF (ofCrAnOpF φ)) (ofCrAnOpF ψ) * 1))
|
||||
simp only [one_mul, mul_one]
|
||||
rw [ι_timeOrderF_superCommuteF_neq_time]
|
||||
exact hφψ
|
||||
|
|
|
@ -171,7 +171,7 @@ lemma wicks_theorem_normal_order_empty : 𝓣(𝓝(ofFieldOpList [])) =
|
|||
rw [normalOrder_ofCrAnFieldOpList]
|
||||
simp only [normalOrderSign_nil, normalOrderList_nil, one_smul]
|
||||
rw [ofCrAnFieldOpList, timeOrder_eq_ι_timeOrderF]
|
||||
rw [timeOrderF_ofCrAnList]
|
||||
rw [timeOrderF_ofCrAnListF]
|
||||
simp
|
||||
|
||||
/--
|
||||
|
|
|
@ -19,8 +19,8 @@ The algebra is spanned by lists of creation/annihilation states.
|
|||
The main structures defined in this module are:
|
||||
|
||||
* `FieldOpFreeAlgebra` - The creation and annihilation algebra
|
||||
* `ofCrAnState` - Maps a creation/annihilation state to the algebra
|
||||
* `ofCrAnList` - Maps a list of creation/annihilation states to the algebra
|
||||
* `ofCrAnOpF` - Maps a creation/annihilation state to the algebra
|
||||
* `ofCrAnListF` - Maps a list of creation/annihilation states to the algebra
|
||||
* `ofFieldOpF` - Maps a state to a sum of creation and annihilation operators
|
||||
* `crPartF` - The creation part of a state in the algebra
|
||||
* `anPartF` - The annihilation part of a state in the algebra
|
||||
|
@ -44,30 +44,30 @@ abbrev FieldOpFreeAlgebra (𝓕 : FieldSpecification) : Type := FreeAlgebra ℂ
|
|||
namespace FieldOpFreeAlgebra
|
||||
|
||||
/-- Maps a creation and annihlation state to the creation and annihlation free-algebra. -/
|
||||
def ofCrAnState (φ : 𝓕.CrAnStates) : FieldOpFreeAlgebra 𝓕 :=
|
||||
def ofCrAnOpF (φ : 𝓕.CrAnStates) : FieldOpFreeAlgebra 𝓕 :=
|
||||
FreeAlgebra.ι ℂ φ
|
||||
|
||||
/-- Maps a list creation and annihlation state to the creation and annihlation free-algebra
|
||||
by taking their product. -/
|
||||
def ofCrAnList (φs : List 𝓕.CrAnStates) : FieldOpFreeAlgebra 𝓕 := (List.map ofCrAnState φs).prod
|
||||
def ofCrAnListF (φs : List 𝓕.CrAnStates) : FieldOpFreeAlgebra 𝓕 := (List.map ofCrAnOpF φs).prod
|
||||
|
||||
@[simp]
|
||||
lemma ofCrAnList_nil : ofCrAnList ([] : List 𝓕.CrAnStates) = 1 := rfl
|
||||
lemma ofCrAnListF_nil : ofCrAnListF ([] : List 𝓕.CrAnStates) = 1 := rfl
|
||||
|
||||
lemma ofCrAnList_cons (φ : 𝓕.CrAnStates) (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnList (φ :: φs) = ofCrAnState φ * ofCrAnList φs := rfl
|
||||
lemma ofCrAnListF_cons (φ : 𝓕.CrAnStates) (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnListF (φ :: φs) = ofCrAnOpF φ * ofCrAnListF φs := rfl
|
||||
|
||||
lemma ofCrAnList_append (φs φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnList (φs ++ φs') = ofCrAnList φs * ofCrAnList φs' := by
|
||||
simp [ofCrAnList, List.map_append]
|
||||
lemma ofCrAnListF_append (φs φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnListF (φs ++ φs') = ofCrAnListF φs * ofCrAnListF φs' := by
|
||||
simp [ofCrAnListF, List.map_append]
|
||||
|
||||
lemma ofCrAnList_singleton (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnList [φ] = ofCrAnState φ := by simp [ofCrAnList]
|
||||
lemma ofCrAnListF_singleton (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnListF [φ] = ofCrAnOpF φ := by simp [ofCrAnListF]
|
||||
|
||||
/-- Maps a state to the sum of creation and annihilation operators in
|
||||
creation and annihilation free-algebra. -/
|
||||
def ofFieldOpF (φ : 𝓕.States) : FieldOpFreeAlgebra 𝓕 :=
|
||||
∑ (i : 𝓕.statesToCrAnType φ), ofCrAnState ⟨φ, i⟩
|
||||
∑ (i : 𝓕.statesToCrAnType φ), ofCrAnOpF ⟨φ, i⟩
|
||||
|
||||
/-- Maps a list of states to the creation and annihilation free-algebra by taking
|
||||
the product of their sums of creation and annihlation operators.
|
||||
|
@ -92,12 +92,12 @@ lemma ofFieldOpListF_append (φs φs' : List 𝓕.States) :
|
|||
rw [List.map_append, List.prod_append]
|
||||
|
||||
lemma ofFieldOpListF_sum (φs : List 𝓕.States) :
|
||||
ofFieldOpListF φs = ∑ (s : CrAnSection φs), ofCrAnList s.1 := by
|
||||
ofFieldOpListF φs = ∑ (s : CrAnSection φs), ofCrAnListF s.1 := by
|
||||
induction φs with
|
||||
| nil => simp
|
||||
| cons φ φs ih =>
|
||||
rw [CrAnSection.sum_cons]
|
||||
dsimp only [CrAnSection.cons, ofCrAnList_cons]
|
||||
dsimp only [CrAnSection.cons, ofCrAnListF_cons]
|
||||
conv_rhs =>
|
||||
enter [2, x]
|
||||
rw [← Finset.mul_sum]
|
||||
|
@ -115,19 +115,19 @@ lemma ofFieldOpListF_sum (φs : List 𝓕.States) :
|
|||
spanned by creation operators. -/
|
||||
def crPartF : 𝓕.States → 𝓕.FieldOpFreeAlgebra := fun φ =>
|
||||
match φ with
|
||||
| States.inAsymp φ => ofCrAnState ⟨States.inAsymp φ, ()⟩
|
||||
| States.position φ => ofCrAnState ⟨States.position φ, CreateAnnihilate.create⟩
|
||||
| States.inAsymp φ => ofCrAnOpF ⟨States.inAsymp φ, ()⟩
|
||||
| States.position φ => ofCrAnOpF ⟨States.position φ, CreateAnnihilate.create⟩
|
||||
| States.outAsymp _ => 0
|
||||
|
||||
@[simp]
|
||||
lemma crPartF_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
crPartF (States.inAsymp φ) = ofCrAnState ⟨States.inAsymp φ, ()⟩ := by
|
||||
crPartF (States.inAsymp φ) = ofCrAnOpF ⟨States.inAsymp φ, ()⟩ := by
|
||||
simp [crPartF]
|
||||
|
||||
@[simp]
|
||||
lemma crPartF_position (φ : 𝓕.PositionStates) :
|
||||
crPartF (States.position φ) =
|
||||
ofCrAnState ⟨States.position φ, CreateAnnihilate.create⟩ := by
|
||||
ofCrAnOpF ⟨States.position φ, CreateAnnihilate.create⟩ := by
|
||||
simp [crPartF]
|
||||
|
||||
@[simp]
|
||||
|
@ -141,8 +141,8 @@ lemma crPartF_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
|||
def anPartF : 𝓕.States → 𝓕.FieldOpFreeAlgebra := fun φ =>
|
||||
match φ with
|
||||
| States.inAsymp _ => 0
|
||||
| States.position φ => ofCrAnState ⟨States.position φ, CreateAnnihilate.annihilate⟩
|
||||
| States.outAsymp φ => ofCrAnState ⟨States.outAsymp φ, ()⟩
|
||||
| States.position φ => ofCrAnOpF ⟨States.position φ, CreateAnnihilate.annihilate⟩
|
||||
| States.outAsymp φ => ofCrAnOpF ⟨States.outAsymp φ, ()⟩
|
||||
|
||||
@[simp]
|
||||
lemma anPartF_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
|
@ -152,12 +152,12 @@ lemma anPartF_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
|||
@[simp]
|
||||
lemma anPartF_position (φ : 𝓕.PositionStates) :
|
||||
anPartF (States.position φ) =
|
||||
ofCrAnState ⟨States.position φ, CreateAnnihilate.annihilate⟩ := by
|
||||
ofCrAnOpF ⟨States.position φ, CreateAnnihilate.annihilate⟩ := by
|
||||
simp [anPartF]
|
||||
|
||||
@[simp]
|
||||
lemma anPartF_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
||||
anPartF (States.outAsymp φ) = ofCrAnState ⟨States.outAsymp φ, ()⟩ := by
|
||||
anPartF (States.outAsymp φ) = ofCrAnOpF ⟨States.outAsymp φ, ()⟩ := by
|
||||
simp [anPartF]
|
||||
|
||||
lemma ofFieldOpF_eq_crPartF_add_anPartF (φ : 𝓕.States) :
|
||||
|
@ -175,15 +175,15 @@ lemma ofFieldOpF_eq_crPartF_add_anPartF (φ : 𝓕.States) :
|
|||
-/
|
||||
|
||||
/-- The basis of the free creation and annihilation algebra formed by lists of CrAnStates. -/
|
||||
noncomputable def ofCrAnListBasis : Basis (List 𝓕.CrAnStates) ℂ (FieldOpFreeAlgebra 𝓕) where
|
||||
noncomputable def ofCrAnListFBasis : Basis (List 𝓕.CrAnStates) ℂ (FieldOpFreeAlgebra 𝓕) where
|
||||
repr := FreeAlgebra.equivMonoidAlgebraFreeMonoid.toLinearEquiv
|
||||
|
||||
@[simp]
|
||||
lemma ofListBasis_eq_ofList (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnListBasis φs = ofCrAnList φs := by
|
||||
simp only [ofCrAnListBasis, FreeAlgebra.equivMonoidAlgebraFreeMonoid, MonoidAlgebra.of_apply,
|
||||
ofCrAnListFBasis φs = ofCrAnListF φs := by
|
||||
simp only [ofCrAnListFBasis, FreeAlgebra.equivMonoidAlgebraFreeMonoid, MonoidAlgebra.of_apply,
|
||||
Basis.coe_ofRepr, AlgEquiv.toLinearEquiv_symm, AlgEquiv.toLinearEquiv_apply,
|
||||
AlgEquiv.ofAlgHom_symm_apply, ofCrAnList]
|
||||
AlgEquiv.ofAlgHom_symm_apply, ofCrAnListF]
|
||||
erw [MonoidAlgebra.lift_apply]
|
||||
simp only [zero_smul, Finsupp.sum_single_index, one_smul]
|
||||
rw [@FreeMonoid.lift_apply]
|
||||
|
|
|
@ -22,37 +22,37 @@ noncomputable section
|
|||
|
||||
/-- The submodule of `FieldOpFreeAlgebra` spanned by lists of field statistic `f`. -/
|
||||
def statisticSubmodule (f : FieldStatistic) : Submodule ℂ 𝓕.FieldOpFreeAlgebra :=
|
||||
Submodule.span ℂ {a | ∃ φs, a = ofCrAnList φs ∧ (𝓕 |>ₛ φs) = f}
|
||||
Submodule.span ℂ {a | ∃ φs, a = ofCrAnListF φs ∧ (𝓕 |>ₛ φs) = f}
|
||||
|
||||
lemma ofCrAnList_mem_statisticSubmodule_of (φs : List 𝓕.CrAnStates) (f : FieldStatistic)
|
||||
lemma ofCrAnListF_mem_statisticSubmodule_of (φs : List 𝓕.CrAnStates) (f : FieldStatistic)
|
||||
(h : (𝓕 |>ₛ φs) = f) :
|
||||
ofCrAnList φs ∈ statisticSubmodule f := by
|
||||
ofCrAnListF φs ∈ statisticSubmodule f := by
|
||||
refine Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩
|
||||
|
||||
lemma ofCrAnList_bosonic_or_fermionic (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnList φs ∈ statisticSubmodule bosonic ∨ ofCrAnList φs ∈ statisticSubmodule fermionic := by
|
||||
lemma ofCrAnListF_bosonic_or_fermionic (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnListF φs ∈ statisticSubmodule bosonic ∨ ofCrAnListF φs ∈ statisticSubmodule fermionic := by
|
||||
by_cases h : (𝓕 |>ₛ φs) = bosonic
|
||||
· left
|
||||
exact ofCrAnList_mem_statisticSubmodule_of φs bosonic h
|
||||
exact ofCrAnListF_mem_statisticSubmodule_of φs bosonic h
|
||||
· right
|
||||
exact ofCrAnList_mem_statisticSubmodule_of φs fermionic (by simpa using h)
|
||||
exact ofCrAnListF_mem_statisticSubmodule_of φs fermionic (by simpa using h)
|
||||
|
||||
lemma ofCrAnState_bosonic_or_fermionic (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnState φ ∈ statisticSubmodule bosonic ∨ ofCrAnState φ ∈ statisticSubmodule fermionic := by
|
||||
rw [← ofCrAnList_singleton]
|
||||
exact ofCrAnList_bosonic_or_fermionic [φ]
|
||||
lemma ofCrAnOpF_bosonic_or_fermionic (φ : 𝓕.CrAnStates) :
|
||||
ofCrAnOpF φ ∈ statisticSubmodule bosonic ∨ ofCrAnOpF φ ∈ statisticSubmodule fermionic := by
|
||||
rw [← ofCrAnListF_singleton]
|
||||
exact ofCrAnListF_bosonic_or_fermionic [φ]
|
||||
|
||||
/-- The projection of an element of `FieldOpFreeAlgebra` onto it's bosonic part. -/
|
||||
def bosonicProj : 𝓕.FieldOpFreeAlgebra →ₗ[ℂ] statisticSubmodule (𝓕 := 𝓕) bosonic :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
if h : (𝓕 |>ₛ φs) = bosonic then
|
||||
⟨ofCrAnList φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩
|
||||
⟨ofCrAnListF φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩
|
||||
else
|
||||
0
|
||||
|
||||
lemma bosonicProj_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
bosonicProj (ofCrAnList φs) = if h : (𝓕 |>ₛ φs) = bosonic then
|
||||
⟨ofCrAnList φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩ else 0 := by
|
||||
lemma bosonicProj_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
bosonicProj (ofCrAnListF φs) = if h : (𝓕 |>ₛ φs) = bosonic then
|
||||
⟨ofCrAnListF φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩ else 0 := by
|
||||
conv_lhs =>
|
||||
rw [← ofListBasis_eq_ofList, bosonicProj, Basis.constr_basis]
|
||||
|
||||
|
@ -65,7 +65,7 @@ lemma bosonicProj_of_mem_bosonic (a : 𝓕.FieldOpFreeAlgebra) (h : a ∈ statis
|
|||
· intro x hx
|
||||
simp only [Set.mem_setOf_eq] at hx
|
||||
obtain ⟨φs, rfl, h⟩ := hx
|
||||
simp [p, bosonicProj_ofCrAnList, h]
|
||||
simp [p, bosonicProj_ofCrAnListF, h]
|
||||
· simp only [map_zero, p]
|
||||
rfl
|
||||
· intro x y hx hy hpx hpy
|
||||
|
@ -82,7 +82,7 @@ lemma bosonicProj_of_mem_fermionic (a : 𝓕.FieldOpFreeAlgebra) (h : a ∈ stat
|
|||
· intro x hx
|
||||
simp only [Set.mem_setOf_eq] at hx
|
||||
obtain ⟨φs, rfl, h⟩ := hx
|
||||
simp [p, bosonicProj_ofCrAnList, h]
|
||||
simp [p, bosonicProj_ofCrAnListF, h]
|
||||
· simp [p]
|
||||
· intro x y hx hy hpx hpy
|
||||
simp_all [p]
|
||||
|
@ -104,23 +104,23 @@ lemma bosonicProj_of_fermionic_part
|
|||
|
||||
/-- The projection of an element of `FieldOpFreeAlgebra` onto it's fermionic part. -/
|
||||
def fermionicProj : 𝓕.FieldOpFreeAlgebra →ₗ[ℂ] statisticSubmodule (𝓕 := 𝓕) fermionic :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
if h : (𝓕 |>ₛ φs) = fermionic then
|
||||
⟨ofCrAnList φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩
|
||||
⟨ofCrAnListF φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩
|
||||
else
|
||||
0
|
||||
|
||||
lemma fermionicProj_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
fermionicProj (ofCrAnList φs) = if h : (𝓕 |>ₛ φs) = fermionic then
|
||||
⟨ofCrAnList φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩ else 0 := by
|
||||
lemma fermionicProj_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
fermionicProj (ofCrAnListF φs) = if h : (𝓕 |>ₛ φs) = fermionic then
|
||||
⟨ofCrAnListF φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl, h⟩⟩⟩ else 0 := by
|
||||
conv_lhs =>
|
||||
rw [← ofListBasis_eq_ofList, fermionicProj, Basis.constr_basis]
|
||||
|
||||
lemma fermionicProj_ofCrAnList_if_bosonic (φs : List 𝓕.CrAnStates) :
|
||||
fermionicProj (ofCrAnList φs) = if h : (𝓕 |>ₛ φs) = bosonic then
|
||||
0 else ⟨ofCrAnList φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl,
|
||||
lemma fermionicProj_ofCrAnListF_if_bosonic (φs : List 𝓕.CrAnStates) :
|
||||
fermionicProj (ofCrAnListF φs) = if h : (𝓕 |>ₛ φs) = bosonic then
|
||||
0 else ⟨ofCrAnListF φs, Submodule.mem_span.mpr fun _ a => a ⟨φs, ⟨rfl,
|
||||
by simpa using h⟩⟩⟩ := by
|
||||
rw [fermionicProj_ofCrAnList]
|
||||
rw [fermionicProj_ofCrAnListF]
|
||||
by_cases h1 : (𝓕 |>ₛ φs) = fermionic
|
||||
· simp [h1]
|
||||
· simp only [h1, ↓reduceDIte]
|
||||
|
@ -136,7 +136,7 @@ lemma fermionicProj_of_mem_fermionic (a : 𝓕.FieldOpFreeAlgebra) (h : a ∈ st
|
|||
· intro x hx
|
||||
simp only [Set.mem_setOf_eq] at hx
|
||||
obtain ⟨φs, rfl, h⟩ := hx
|
||||
simp [p, fermionicProj_ofCrAnList, h]
|
||||
simp [p, fermionicProj_ofCrAnListF, h]
|
||||
· simp only [map_zero, p]
|
||||
rfl
|
||||
· intro x y hx hy hpx hpy
|
||||
|
@ -153,7 +153,7 @@ lemma fermionicProj_of_mem_bosonic (a : 𝓕.FieldOpFreeAlgebra) (h : a ∈ stat
|
|||
· intro x hx
|
||||
simp only [Set.mem_setOf_eq] at hx
|
||||
obtain ⟨φs, rfl, h⟩ := hx
|
||||
simp [p, fermionicProj_ofCrAnList, h]
|
||||
simp [p, fermionicProj_ofCrAnListF, h]
|
||||
· simp [p]
|
||||
· intro x y hx hy hpx hpy
|
||||
simp_all [p]
|
||||
|
@ -180,10 +180,10 @@ lemma bosonicProj_add_fermionicProj (a : 𝓕.FieldOpFreeAlgebra) :
|
|||
let f2 :𝓕.FieldOpFreeAlgebra →ₗ[ℂ] 𝓕.FieldOpFreeAlgebra :=
|
||||
(statisticSubmodule fermionic).subtype ∘ₗ fermionicProj
|
||||
change (f1 + f2) a = LinearMap.id (R := ℂ) a
|
||||
refine LinearMap.congr_fun (ofCrAnListBasis.ext fun φs ↦ ?_) a
|
||||
refine LinearMap.congr_fun (ofCrAnListFBasis.ext fun φs ↦ ?_) a
|
||||
simp only [ofListBasis_eq_ofList, LinearMap.add_apply, LinearMap.coe_comp, Submodule.coe_subtype,
|
||||
Function.comp_apply, LinearMap.id_coe, id_eq, f1, f2]
|
||||
rw [bosonicProj_ofCrAnList, fermionicProj_ofCrAnList_if_bosonic]
|
||||
rw [bosonicProj_ofCrAnListF, fermionicProj_ofCrAnListF_if_bosonic]
|
||||
by_cases h : (𝓕 |>ₛ φs) = bosonic
|
||||
· simp [h]
|
||||
· simp [h]
|
||||
|
@ -241,7 +241,7 @@ instance fieldOpFreeAlgebraGrade : GradedAlgebra (A := 𝓕.FieldOpFreeAlgebra)
|
|||
refine Submodule.mem_span.mpr fun p a => a ?_
|
||||
simp only [Set.mem_setOf_eq]
|
||||
use []
|
||||
simp only [ofCrAnList_nil, ofList_empty, true_and]
|
||||
simp only [ofCrAnListF_nil, ofList_empty, true_and]
|
||||
rfl
|
||||
mul_mem f1 f2 a1 a2 h1 h2 := by
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule f2) : Prop :=
|
||||
|
@ -253,13 +253,13 @@ instance fieldOpFreeAlgebraGrade : GradedAlgebra (A := 𝓕.FieldOpFreeAlgebra)
|
|||
obtain ⟨φs, rfl, h⟩ := hx
|
||||
simp only [p]
|
||||
let p (a1 : 𝓕.FieldOpFreeAlgebra) (hx : a1 ∈ statisticSubmodule f1) : Prop :=
|
||||
a1 * ofCrAnList φs ∈ statisticSubmodule (f1 + f2)
|
||||
a1 * ofCrAnListF φs ∈ statisticSubmodule (f1 + f2)
|
||||
change p a1 h1
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro y hy
|
||||
obtain ⟨φs', rfl, h'⟩ := hy
|
||||
simp only [p]
|
||||
rw [← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_append]
|
||||
refine Submodule.mem_span.mpr fun p a => a ?_
|
||||
simp only [Set.mem_setOf_eq]
|
||||
use φs' ++ φs
|
||||
|
|
|
@ -29,14 +29,14 @@ open HepLean.List
|
|||
|
||||
/-- The normal-time ordering on `FieldOpFreeAlgebra`. -/
|
||||
def normTimeOrder : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpFreeAlgebra 𝓕 :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
normTimeOrderSign φs • ofCrAnList (normTimeOrderList φs)
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
normTimeOrderSign φs • ofCrAnListF (normTimeOrderList φs)
|
||||
|
||||
@[inherit_doc normTimeOrder]
|
||||
scoped[FieldSpecification.FieldOpFreeAlgebra] notation "𝓣𝓝ᶠ(" a ")" => normTimeOrder a
|
||||
|
||||
lemma normTimeOrder_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
𝓣𝓝ᶠ(ofCrAnList φs) = normTimeOrderSign φs • ofCrAnList (normTimeOrderList φs) := by
|
||||
lemma normTimeOrder_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
𝓣𝓝ᶠ(ofCrAnListF φs) = normTimeOrderSign φs • ofCrAnListF (normTimeOrderList φs) := by
|
||||
rw [← ofListBasis_eq_ofList]
|
||||
simp only [normTimeOrder, Basis.constr_basis]
|
||||
|
||||
|
|
|
@ -33,52 +33,52 @@ noncomputable section
|
|||
the sign corresponding to the number of fermionic-fermionic
|
||||
exchanges done in ordering. -/
|
||||
def normalOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpFreeAlgebra 𝓕 :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
normalOrderSign φs • ofCrAnList (normalOrderList φs)
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
normalOrderSign φs • ofCrAnListF (normalOrderList φs)
|
||||
|
||||
@[inherit_doc normalOrderF]
|
||||
scoped[FieldSpecification.FieldOpFreeAlgebra] notation "𝓝ᶠ(" a ")" => normalOrderF a
|
||||
|
||||
lemma normalOrderF_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnList φs) = normalOrderSign φs • ofCrAnList (normalOrderList φs) := by
|
||||
lemma normalOrderF_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnListF φs) = normalOrderSign φs • ofCrAnListF (normalOrderList φs) := by
|
||||
rw [← ofListBasis_eq_ofList, normalOrderF, Basis.constr_basis]
|
||||
|
||||
lemma ofCrAnList_eq_normalOrderF (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnList (normalOrderList φs) = normalOrderSign φs • 𝓝ᶠ(ofCrAnList φs) := by
|
||||
rw [normalOrderF_ofCrAnList, normalOrderList, smul_smul, normalOrderSign,
|
||||
lemma ofCrAnListF_eq_normalOrderF (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnListF (normalOrderList φs) = normalOrderSign φs • 𝓝ᶠ(ofCrAnListF φs) := by
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderList, smul_smul, normalOrderSign,
|
||||
Wick.koszulSign_mul_self, one_smul]
|
||||
|
||||
lemma normalOrderF_one : normalOrderF (𝓕 := 𝓕) 1 = 1 := by
|
||||
rw [← ofCrAnList_nil, normalOrderF_ofCrAnList, normalOrderSign_nil, normalOrderList_nil,
|
||||
ofCrAnList_nil, one_smul]
|
||||
rw [← ofCrAnListF_nil, normalOrderF_ofCrAnListF, normalOrderSign_nil, normalOrderList_nil,
|
||||
ofCrAnListF_nil, one_smul]
|
||||
|
||||
lemma normalOrderF_normalOrderF_mid (a b c : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(a * b * c) = 𝓝ᶠ(a * 𝓝ᶠ(b) * c) := by
|
||||
let pc (c : 𝓕.FieldOpFreeAlgebra) (hc : c ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
let pc (c : 𝓕.FieldOpFreeAlgebra) (hc : c ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓝ᶠ(a * b * c) = 𝓝ᶠ(a * 𝓝ᶠ(b) * c)
|
||||
change pc c (Basis.mem_span _ c)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs, rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pc]
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hb : b ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := 𝓝ᶠ(a * b * ofCrAnList φs) = 𝓝ᶠ(a * 𝓝ᶠ(b) * ofCrAnList φs)
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hb : b ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓝ᶠ(a * b * ofCrAnListF φs) = 𝓝ᶠ(a * 𝓝ᶠ(b) * ofCrAnListF φs)
|
||||
change pb b (Basis.mem_span _ b)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pb]
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := 𝓝ᶠ(a * ofCrAnList φs' * ofCrAnList φs) = 𝓝ᶠ(a * 𝓝ᶠ(ofCrAnList φs') * ofCrAnList φs)
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓝ᶠ(a * ofCrAnListF φs' * ofCrAnListF φs) = 𝓝ᶠ(a * 𝓝ᶠ(ofCrAnListF φs') * ofCrAnListF φs)
|
||||
change pa a (Basis.mem_span _ a)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs'', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pa]
|
||||
rw [normalOrderF_ofCrAnList]
|
||||
simp only [← ofCrAnList_append, Algebra.mul_smul_comm,
|
||||
rw [normalOrderF_ofCrAnListF]
|
||||
simp only [← ofCrAnListF_append, Algebra.mul_smul_comm,
|
||||
Algebra.smul_mul_assoc, map_smul]
|
||||
rw [normalOrderF_ofCrAnList, normalOrderF_ofCrAnList, smul_smul]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderF_ofCrAnListF, smul_smul]
|
||||
congr 1
|
||||
· simp only [normalOrderSign, normalOrderList]
|
||||
rw [Wick.koszulSign_of_append_eq_insertionSort, mul_comm]
|
||||
|
@ -119,40 +119,40 @@ lemma normalOrderF_normalOrderF_left (a b : 𝓕.FieldOpFreeAlgebra) : 𝓝ᶠ(a
|
|||
|
||||
-/
|
||||
|
||||
lemma normalOrderF_ofCrAnList_cons_create (φ : 𝓕.CrAnStates)
|
||||
lemma normalOrderF_ofCrAnListF_cons_create (φ : 𝓕.CrAnStates)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.create) (φs : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnList (φ :: φs)) = ofCrAnState φ * 𝓝ᶠ(ofCrAnList φs) := by
|
||||
rw [normalOrderF_ofCrAnList, normalOrderSign_cons_create φ hφ,
|
||||
𝓝ᶠ(ofCrAnListF (φ :: φs)) = ofCrAnOpF φ * 𝓝ᶠ(ofCrAnListF φs) := by
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_cons_create φ hφ,
|
||||
normalOrderList_cons_create φ hφ φs]
|
||||
rw [ofCrAnList_cons, normalOrderF_ofCrAnList, mul_smul_comm]
|
||||
rw [ofCrAnListF_cons, normalOrderF_ofCrAnListF, mul_smul_comm]
|
||||
|
||||
lemma normalOrderF_create_mul (φ : 𝓕.CrAnStates)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.create) (a : FieldOpFreeAlgebra 𝓕) :
|
||||
𝓝ᶠ(ofCrAnState φ * a) = ofCrAnState φ * 𝓝ᶠ(a) := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap (ofCrAnState φ)) a =
|
||||
(mulLinearMap (ofCrAnState φ) ∘ₗ normalOrderF) a
|
||||
refine LinearMap.congr_fun (ofCrAnListBasis.ext fun l ↦ ?_) a
|
||||
𝓝ᶠ(ofCrAnOpF φ * a) = ofCrAnOpF φ * 𝓝ᶠ(a) := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap (ofCrAnOpF φ)) a =
|
||||
(mulLinearMap (ofCrAnOpF φ) ∘ₗ normalOrderF) a
|
||||
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]
|
||||
rw [← ofCrAnList_cons, normalOrderF_ofCrAnList_cons_create φ hφ]
|
||||
rw [← ofCrAnListF_cons, normalOrderF_ofCrAnListF_cons_create φ hφ]
|
||||
|
||||
lemma normalOrderF_ofCrAnList_append_annihilate (φ : 𝓕.CrAnStates)
|
||||
lemma normalOrderF_ofCrAnListF_append_annihilate (φ : 𝓕.CrAnStates)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.annihilate) (φs : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnList (φs ++ [φ])) = 𝓝ᶠ(ofCrAnList φs) * ofCrAnState φ := by
|
||||
rw [normalOrderF_ofCrAnList, normalOrderSign_append_annihlate φ hφ φs,
|
||||
normalOrderList_append_annihilate φ hφ φs, ofCrAnList_append, ofCrAnList_singleton,
|
||||
normalOrderF_ofCrAnList, smul_mul_assoc]
|
||||
𝓝ᶠ(ofCrAnListF (φs ++ [φ])) = 𝓝ᶠ(ofCrAnListF φs) * ofCrAnOpF φ := by
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderSign_append_annihlate φ hφ φs,
|
||||
normalOrderList_append_annihilate φ hφ φs, ofCrAnListF_append, ofCrAnListF_singleton,
|
||||
normalOrderF_ofCrAnListF, smul_mul_assoc]
|
||||
|
||||
lemma normalOrderF_mul_annihilate (φ : 𝓕.CrAnStates)
|
||||
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.annihilate)
|
||||
(a : FieldOpFreeAlgebra 𝓕) : 𝓝ᶠ(a * ofCrAnState φ) = 𝓝ᶠ(a) * ofCrAnState φ := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnState φ)) a =
|
||||
(mulLinearMap.flip (ofCrAnState φ) ∘ₗ normalOrderF) a
|
||||
refine LinearMap.congr_fun (ofCrAnListBasis.ext fun l ↦ ?_) a
|
||||
(a : FieldOpFreeAlgebra 𝓕) : 𝓝ᶠ(a * ofCrAnOpF φ) = 𝓝ᶠ(a) * ofCrAnOpF φ := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnOpF φ)) a =
|
||||
(mulLinearMap.flip (ofCrAnOpF φ) ∘ₗ normalOrderF) a
|
||||
refine LinearMap.congr_fun (ofCrAnListFBasis.ext fun l ↦ ?_) a
|
||||
simp only [mulLinearMap, ofListBasis_eq_ofList, LinearMap.coe_comp, Function.comp_apply,
|
||||
LinearMap.flip_apply, LinearMap.coe_mk, AddHom.coe_mk]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_append, ofCrAnList_singleton,
|
||||
normalOrderF_ofCrAnList_append_annihilate φ hφ]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_append, ofCrAnListF_singleton,
|
||||
normalOrderF_ofCrAnListF_append_annihilate φ hφ]
|
||||
|
||||
lemma normalOrderF_crPartF_mul (φ : 𝓕.States) (a : FieldOpFreeAlgebra 𝓕) :
|
||||
𝓝ᶠ(crPartF φ * a) =
|
||||
|
@ -185,51 +185,51 @@ lemma normalOrderF_mul_anPartF (φ : 𝓕.States) (a : FieldOpFreeAlgebra 𝓕)
|
|||
The main result of this section is `normalOrderF_superCommuteF_annihilate_create`.
|
||||
-/
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnList_ofCrAnList (φc φa : 𝓕.CrAnStates)
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnListF_ofCrAnListF (φc φa : 𝓕.CrAnStates)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs φs' : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnList φs' * ofCrAnState φc * ofCrAnState φa * ofCrAnList φs) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(ofCrAnList φs' * ofCrAnState φa * ofCrAnState φc * ofCrAnList φs) := by
|
||||
rw [mul_assoc, mul_assoc, ← ofCrAnList_cons, ← ofCrAnList_cons, ← ofCrAnList_append]
|
||||
rw [normalOrderF_ofCrAnList, normalOrderSign_swap_create_annihlate φc φa hφc hφa]
|
||||
rw [normalOrderList_swap_create_annihlate φc φa hφc hφa, ← smul_smul, ← normalOrderF_ofCrAnList]
|
||||
rw [ofCrAnList_append, ofCrAnList_cons, ofCrAnList_cons]
|
||||
𝓝ᶠ(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 [ofCrAnListF_append, ofCrAnListF_cons, ofCrAnListF_cons]
|
||||
noncomm_ring
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnList (φc φa : 𝓕.CrAnStates)
|
||||
lemma normalOrderF_swap_create_annihlate_ofCrAnListF (φc φa : 𝓕.CrAnStates)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(φs : List 𝓕.CrAnStates) (a : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(ofCrAnList φs * ofCrAnState φc * ofCrAnState φa * a) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(ofCrAnList φs * ofCrAnState φa * ofCrAnState φc * a) := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap (ofCrAnList φs * ofCrAnState φc * ofCrAnState φa)) a =
|
||||
𝓝ᶠ(ofCrAnListF φs * ofCrAnOpF φc * ofCrAnOpF φa * a) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(ofCrAnListF φs * ofCrAnOpF φa * ofCrAnOpF φc * a) := by
|
||||
change (normalOrderF ∘ₗ mulLinearMap (ofCrAnListF φs * ofCrAnOpF φc * ofCrAnOpF φa)) a =
|
||||
(smulLinearMap _ ∘ₗ normalOrderF ∘ₗ
|
||||
mulLinearMap (ofCrAnList φs * ofCrAnState φa * ofCrAnState φc)) a
|
||||
refine LinearMap.congr_fun (ofCrAnListBasis.ext fun l ↦ ?_) a
|
||||
mulLinearMap (ofCrAnListF φs * ofCrAnOpF φa * ofCrAnOpF φc)) a
|
||||
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_ofCrAnList_ofCrAnList φc φa hφc hφa]
|
||||
rw [normalOrderF_swap_create_annihlate_ofCrAnListF_ofCrAnListF φc φa hφc hφa]
|
||||
rfl
|
||||
|
||||
lemma normalOrderF_swap_create_annihlate (φc φa : 𝓕.CrAnStates)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(a * ofCrAnState φc * ofCrAnState φa * b) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(a * ofCrAnState φa * ofCrAnState φc * b) := by
|
||||
𝓝ᶠ(a * ofCrAnOpF φc * ofCrAnOpF φa * b) = 𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa) •
|
||||
𝓝ᶠ(a * ofCrAnOpF φa * ofCrAnOpF φc * b) := by
|
||||
rw [mul_assoc, mul_assoc, mul_assoc, mul_assoc]
|
||||
change (normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnState φc * (ofCrAnState φa * b))) a =
|
||||
change (normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnOpF φc * (ofCrAnOpF φa * b))) a =
|
||||
(smulLinearMap (𝓢(𝓕 |>ₛ φc, 𝓕 |>ₛ φa)) ∘ₗ
|
||||
normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnState φa * (ofCrAnState φc * b))) a
|
||||
refine LinearMap.congr_fun (ofCrAnListBasis.ext fun l ↦ ?_) _
|
||||
normalOrderF ∘ₗ mulLinearMap.flip (ofCrAnOpF φa * (ofCrAnOpF φc * b))) a
|
||||
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_ofCrAnList φc φa hφc hφa]
|
||||
normalOrderF_swap_create_annihlate_ofCrAnListF φc φa hφc hφa]
|
||||
rfl
|
||||
|
||||
lemma normalOrderF_superCommuteF_create_annihilate (φc φa : 𝓕.CrAnStates)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(a * [ofCrAnState φc, ofCrAnState φa]ₛca * b) = 0 := by
|
||||
simp only [superCommuteF_ofCrAnState_ofCrAnState, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
𝓝ᶠ(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]
|
||||
simp
|
||||
|
@ -237,8 +237,8 @@ lemma normalOrderF_superCommuteF_create_annihilate (φc φa : 𝓕.CrAnStates)
|
|||
lemma normalOrderF_superCommuteF_annihilate_create (φc φa : 𝓕.CrAnStates)
|
||||
(hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create) (hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓝ᶠ(a * [ofCrAnState φa, ofCrAnState φc]ₛca * b) = 0 := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState_symm]
|
||||
𝓝ᶠ(a * [ofCrAnOpF φa, ofCrAnOpF φc]ₛca * b) = 0 := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF_symm]
|
||||
simp only [instCommGroup.eq_1, neg_smul, mul_neg, Algebra.mul_smul_comm, neg_mul,
|
||||
Algebra.smul_mul_assoc, map_neg, map_smul, neg_eq_zero, smul_eq_zero]
|
||||
exact Or.inr (normalOrderF_superCommuteF_create_annihilate φc φa hφc hφa ..)
|
||||
|
@ -387,21 +387,21 @@ lemma normalOrderF_ofFieldOpF_mul_ofFieldOpF (φ φ' : 𝓕.States) :
|
|||
|
||||
TODO "Split the following two lemmas up into smaller parts."
|
||||
|
||||
lemma normalOrderF_superCommuteF_ofCrAnList_create_create_ofCrAnList
|
||||
lemma normalOrderF_superCommuteF_ofCrAnListF_create_create_ofCrAnListF
|
||||
(φc φc' : 𝓕.CrAnStates) (hφc : 𝓕 |>ᶜ φc = CreateAnnihilate.create)
|
||||
(hφc' : 𝓕 |>ᶜ φc' = CreateAnnihilate.create) (φs φs' : List 𝓕.CrAnStates) :
|
||||
(𝓝ᶠ(ofCrAnList φs * [ofCrAnState φc, ofCrAnState φc']ₛca * ofCrAnList φs')) =
|
||||
(𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φc, ofCrAnOpF φc']ₛca * ofCrAnListF φs')) =
|
||||
normalOrderSign (φs ++ φc' :: φc :: φs') •
|
||||
(ofCrAnList (createFilter φs) * [ofCrAnState φc, ofCrAnState φc']ₛca *
|
||||
ofCrAnList (createFilter φs') * ofCrAnList (annihilateFilter (φs ++ φs'))) := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState, mul_sub, sub_mul, map_sub]
|
||||
(ofCrAnListF (createFilter φs) * [ofCrAnOpF φc, ofCrAnOpF φc']ₛca *
|
||||
ofCrAnListF (createFilter φs') * ofCrAnListF (annihilateFilter (φs ++ φs'))) := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF, mul_sub, sub_mul, map_sub]
|
||||
conv_lhs =>
|
||||
lhs; rhs
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_append, ← ofCrAnList_append,
|
||||
← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_append, ← ofCrAnListF_append,
|
||||
← ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
lhs
|
||||
rw [normalOrderF_ofCrAnList, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [createFilter_append, createFilter_append, createFilter_append,
|
||||
createFilter_singleton_create _ hφc, createFilter_singleton_create _ hφc']
|
||||
rw [annihilateFilter_append, annihilateFilter_append, annihilateFilter_append,
|
||||
|
@ -414,13 +414,13 @@ lemma normalOrderF_superCommuteF_ofCrAnList_create_create_ofCrAnList
|
|||
rhs; rhs
|
||||
rw [smul_mul_assoc, Algebra.mul_smul_comm, smul_mul_assoc]
|
||||
rhs
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_append, ← ofCrAnList_append,
|
||||
← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_append, ← ofCrAnListF_append,
|
||||
← ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
rhs
|
||||
rw [map_smul]
|
||||
rhs
|
||||
rw [normalOrderF_ofCrAnList, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [createFilter_append, createFilter_append, createFilter_append,
|
||||
createFilter_singleton_create _ hφc, createFilter_singleton_create _ hφc']
|
||||
rw [annihilateFilter_append, annihilateFilter_append, annihilateFilter_append,
|
||||
|
@ -437,33 +437,33 @@ lemma normalOrderF_superCommuteF_ofCrAnList_create_create_ofCrAnList
|
|||
simp
|
||||
rw [normalOrderSign_swap_create_create φc φc' hφc hφc']
|
||||
rw [smul_smul, mul_comm, ← smul_smul]
|
||||
rw [← smul_sub, ofCrAnList_append, ofCrAnList_append, ofCrAnList_append]
|
||||
rw [← smul_sub, ofCrAnListF_append, ofCrAnListF_append, ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
rhs; rhs
|
||||
rw [ofCrAnList_append, ofCrAnList_append, ofCrAnList_append]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_append, ofCrAnListF_append]
|
||||
rw [← smul_mul_assoc, ← smul_mul_assoc, ← Algebra.mul_smul_comm]
|
||||
rw [← sub_mul, ← sub_mul, ← mul_sub, ofCrAnList_append, ofCrAnList_singleton,
|
||||
ofCrAnList_singleton]
|
||||
rw [ofCrAnList_append, ofCrAnList_singleton, ofCrAnList_singleton, smul_mul_assoc]
|
||||
rw [← sub_mul, ← sub_mul, ← mul_sub, ofCrAnListF_append, ofCrAnListF_singleton,
|
||||
ofCrAnListF_singleton]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_singleton, ofCrAnListF_singleton, smul_mul_assoc]
|
||||
|
||||
lemma normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
||||
lemma normalOrderF_superCommuteF_ofCrAnListF_annihilate_annihilate_ofCrAnListF
|
||||
(φa φa' : 𝓕.CrAnStates)
|
||||
(hφa : 𝓕 |>ᶜ φa = CreateAnnihilate.annihilate)
|
||||
(hφa' : 𝓕 |>ᶜ φa' = CreateAnnihilate.annihilate)
|
||||
(φs φs' : List 𝓕.CrAnStates) :
|
||||
𝓝ᶠ(ofCrAnList φs * [ofCrAnState φa, ofCrAnState φa']ₛca * ofCrAnList φs') =
|
||||
𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * ofCrAnListF φs') =
|
||||
normalOrderSign (φs ++ φa' :: φa :: φs') •
|
||||
(ofCrAnList (createFilter (φs ++ φs'))
|
||||
* ofCrAnList (annihilateFilter φs) * [ofCrAnState φa, ofCrAnState φa']ₛca
|
||||
* ofCrAnList (annihilateFilter φs')) := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState, mul_sub, sub_mul, map_sub]
|
||||
(ofCrAnListF (createFilter (φs ++ φs'))
|
||||
* ofCrAnListF (annihilateFilter φs) * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca
|
||||
* ofCrAnListF (annihilateFilter φs')) := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF, mul_sub, sub_mul, map_sub]
|
||||
conv_lhs =>
|
||||
lhs; rhs
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_append, ← ofCrAnList_append,
|
||||
← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_append, ← ofCrAnListF_append,
|
||||
← ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
lhs
|
||||
rw [normalOrderF_ofCrAnList, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [createFilter_append, createFilter_append, createFilter_append,
|
||||
createFilter_singleton_annihilate _ hφa, createFilter_singleton_annihilate _ hφa']
|
||||
rw [annihilateFilter_append, annihilateFilter_append, annihilateFilter_append,
|
||||
|
@ -477,13 +477,13 @@ lemma normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
|||
rw [smul_mul_assoc]
|
||||
rw [Algebra.mul_smul_comm, smul_mul_assoc]
|
||||
rhs
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_append, ← ofCrAnList_append,
|
||||
← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_append, ← ofCrAnListF_append,
|
||||
← ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
rhs
|
||||
rw [map_smul]
|
||||
rhs
|
||||
rw [normalOrderF_ofCrAnList, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [normalOrderF_ofCrAnListF, normalOrderList_eq_createFilter_append_annihilateFilter]
|
||||
rw [createFilter_append, createFilter_append, createFilter_append,
|
||||
createFilter_singleton_annihilate _ hφa, createFilter_singleton_annihilate _ hφa']
|
||||
rw [annihilateFilter_append, annihilateFilter_append, annihilateFilter_append,
|
||||
|
@ -500,10 +500,10 @@ lemma normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
|||
simp
|
||||
rw [normalOrderSign_swap_annihilate_annihilate φa φa' hφa hφa']
|
||||
rw [smul_smul, mul_comm, ← smul_smul]
|
||||
rw [← smul_sub, ofCrAnList_append, ofCrAnList_append, ofCrAnList_append]
|
||||
rw [← smul_sub, ofCrAnListF_append, ofCrAnListF_append, ofCrAnListF_append]
|
||||
conv_lhs =>
|
||||
rhs; rhs
|
||||
rw [ofCrAnList_append, ofCrAnList_append, ofCrAnList_append]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_append, ofCrAnListF_append]
|
||||
rw [← Algebra.mul_smul_comm, ← smul_mul_assoc, ← Algebra.mul_smul_comm]
|
||||
rw [← mul_sub, ← sub_mul, ← mul_sub]
|
||||
apply congrArg
|
||||
|
@ -511,8 +511,8 @@ lemma normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
|||
apply congrArg
|
||||
rw [mul_assoc]
|
||||
apply congrArg
|
||||
rw [ofCrAnList_append, ofCrAnList_singleton, ofCrAnList_singleton]
|
||||
rw [ofCrAnList_append, ofCrAnList_singleton, ofCrAnList_singleton, smul_mul_assoc]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_singleton, ofCrAnListF_singleton]
|
||||
rw [ofCrAnListF_append, ofCrAnListF_singleton, ofCrAnListF_singleton, smul_mul_assoc]
|
||||
|
||||
/-!
|
||||
|
||||
|
@ -520,22 +520,22 @@ lemma normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
|
|||
|
||||
-/
|
||||
|
||||
lemma ofCrAnList_superCommuteF_normalOrderF_ofCrAnList (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs, 𝓝ᶠ(ofCrAnList φs')]ₛca =
|
||||
ofCrAnList φs * 𝓝ᶠ(ofCrAnList φs') -
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofCrAnList φs') * ofCrAnList φs := by
|
||||
simp [normalOrderF_ofCrAnList, map_smul, superCommuteF_ofCrAnList_ofCrAnList, ofCrAnList_append,
|
||||
lemma ofCrAnListF_superCommuteF_normalOrderF_ofCrAnListF (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs, 𝓝ᶠ(ofCrAnListF φs')]ₛca =
|
||||
ofCrAnListF φs * 𝓝ᶠ(ofCrAnListF φs') -
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofCrAnListF φs') * ofCrAnListF φs := by
|
||||
simp [normalOrderF_ofCrAnListF, map_smul, superCommuteF_ofCrAnListF_ofCrAnListF, ofCrAnListF_append,
|
||||
smul_sub, smul_smul, mul_comm]
|
||||
|
||||
lemma ofCrAnList_superCommuteF_normalOrderF_ofFieldOpListF (φs : List 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : [ofCrAnList φs, 𝓝ᶠ(ofFieldOpListF φs')]ₛca =
|
||||
ofCrAnList φs * 𝓝ᶠ(ofFieldOpListF φs') -
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnList φs := by
|
||||
lemma ofCrAnListF_superCommuteF_normalOrderF_ofFieldOpListF (φs : List 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : [ofCrAnListF φs, 𝓝ᶠ(ofFieldOpListF φs')]ₛca =
|
||||
ofCrAnListF φs * 𝓝ᶠ(ofFieldOpListF φs') -
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnListF φs := by
|
||||
rw [ofFieldOpListF_sum, map_sum, Finset.mul_sum, Finset.smul_sum, Finset.sum_mul,
|
||||
← Finset.sum_sub_distrib, map_sum]
|
||||
congr
|
||||
funext n
|
||||
rw [ofCrAnList_superCommuteF_normalOrderF_ofCrAnList,
|
||||
rw [ofCrAnListF_superCommuteF_normalOrderF_ofCrAnListF,
|
||||
CrAnSection.statistics_eq_state_statistics]
|
||||
|
||||
/-!
|
||||
|
@ -544,18 +544,18 @@ lemma ofCrAnList_superCommuteF_normalOrderF_ofFieldOpListF (φs : List 𝓕.CrAn
|
|||
|
||||
-/
|
||||
|
||||
lemma ofCrAnList_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φs : List 𝓕.CrAnStates)
|
||||
lemma ofCrAnListF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φs : List 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) :
|
||||
ofCrAnList φs * 𝓝ᶠ(ofFieldOpListF φs') =
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnList φs
|
||||
+ [ofCrAnList φs, 𝓝ᶠ(ofFieldOpListF φs')]ₛca := by
|
||||
simp [ofCrAnList_superCommuteF_normalOrderF_ofFieldOpListF]
|
||||
ofCrAnListF φs * 𝓝ᶠ(ofFieldOpListF φs') =
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnListF φs
|
||||
+ [ofCrAnListF φs, 𝓝ᶠ(ofFieldOpListF φs')]ₛca := by
|
||||
simp [ofCrAnListF_superCommuteF_normalOrderF_ofFieldOpListF]
|
||||
|
||||
lemma ofCrAnState_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φ : 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : ofCrAnState φ * 𝓝ᶠ(ofFieldOpListF φs') =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnState φ
|
||||
+ [ofCrAnState φ, 𝓝ᶠ(ofFieldOpListF φs')]ₛca := by
|
||||
simp [← ofCrAnList_singleton, ofCrAnList_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF]
|
||||
lemma ofCrAnOpF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φ : 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : ofCrAnOpF φ * 𝓝ᶠ(ofFieldOpListF φs') =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofFieldOpListF φs') * ofCrAnOpF φ
|
||||
+ [ofCrAnOpF φ, 𝓝ᶠ(ofFieldOpListF φs')]ₛca := by
|
||||
simp [← ofCrAnListF_singleton, ofCrAnListF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF]
|
||||
|
||||
lemma anPartF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φ : 𝓕.States)
|
||||
(φs' : List 𝓕.States) :
|
||||
|
@ -565,8 +565,8 @@ lemma anPartF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF (φ : 𝓕.States
|
|||
rw [normalOrderF_mul_anPartF]
|
||||
match φ with
|
||||
| .inAsymp φ => simp
|
||||
| .position φ => simp [ofCrAnState_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF, crAnStatistics]
|
||||
| .outAsymp φ => simp [ofCrAnState_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF, crAnStatistics]
|
||||
| .position φ => simp [ofCrAnOpF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF, crAnStatistics]
|
||||
| .outAsymp φ => simp [ofCrAnOpF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF, crAnStatistics]
|
||||
|
||||
end
|
||||
|
||||
|
|
|
@ -27,9 +27,9 @@ open FieldStatistic
|
|||
or a bosonic and fermionic operator this corresponds to the usual commutator
|
||||
whilst for two fermionic operators this corresponds to the anti-commutator. -/
|
||||
noncomputable def superCommuteF : 𝓕.FieldOpFreeAlgebra →ₗ[ℂ] 𝓕.FieldOpFreeAlgebra →ₗ[ℂ] 𝓕.FieldOpFreeAlgebra :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs' =>
|
||||
ofCrAnList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList (φs' ++ φs)
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs' =>
|
||||
ofCrAnListF (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnListF (φs' ++ φs)
|
||||
|
||||
/-- The super commutor on the creation and annihlation algebra. For two bosonic operators
|
||||
or a bosonic and fermionic operator this corresponds to the usual commutator
|
||||
|
@ -42,30 +42,30 @@ scoped[FieldSpecification.FieldOpFreeAlgebra] notation "[" φs "," φs' "]ₛca"
|
|||
|
||||
-/
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofCrAnList (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs, ofCrAnList φs']ₛca =
|
||||
ofCrAnList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList (φs' ++ φs) := by
|
||||
lemma superCommuteF_ofCrAnListF_ofCrAnListF (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs, ofCrAnListF φs']ₛca =
|
||||
ofCrAnListF (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnListF (φs' ++ φs) := by
|
||||
rw [← ofListBasis_eq_ofList, ← ofListBasis_eq_ofList]
|
||||
simp only [superCommuteF, Basis.constr_basis]
|
||||
|
||||
lemma superCommuteF_ofCrAnState_ofCrAnState (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnState φ, ofCrAnState φ']ₛca =
|
||||
ofCrAnState φ * ofCrAnState φ' - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofCrAnState φ' * ofCrAnState φ := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, ofCrAnList_append]
|
||||
lemma superCommuteF_ofCrAnOpF_ofCrAnOpF (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnOpF φ, ofCrAnOpF φ']ₛca =
|
||||
ofCrAnOpF φ * ofCrAnOpF φ' - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofCrAnOpF φ' * ofCrAnOpF φ := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, ofCrAnListF_append]
|
||||
congr
|
||||
rw [ofCrAnList_append]
|
||||
rw [ofCrAnListF_append]
|
||||
rw [FieldStatistic.ofList_singleton, FieldStatistic.ofList_singleton, smul_mul_assoc]
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofFieldOpFsList (φcas : List 𝓕.CrAnStates) (φs : List 𝓕.States) :
|
||||
[ofCrAnList φcas, ofFieldOpListF φs]ₛca = ofCrAnList φcas * ofFieldOpListF φs -
|
||||
𝓢(𝓕 |>ₛ φcas, 𝓕 |>ₛ φs) • ofFieldOpListF φs * ofCrAnList φcas := by
|
||||
lemma superCommuteF_ofCrAnListF_ofFieldOpFsList (φcas : List 𝓕.CrAnStates) (φs : List 𝓕.States) :
|
||||
[ofCrAnListF φcas, ofFieldOpListF φs]ₛca = ofCrAnListF φcas * ofFieldOpListF φs -
|
||||
𝓢(𝓕 |>ₛ φcas, 𝓕 |>ₛ φs) • ofFieldOpListF φs * ofCrAnListF φcas := by
|
||||
conv_lhs => rw [ofFieldOpListF_sum]
|
||||
rw [map_sum]
|
||||
conv_lhs =>
|
||||
enter [2, x]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, CrAnSection.statistics_eq_state_statistics,
|
||||
ofCrAnList_append, ofCrAnList_append]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, CrAnSection.statistics_eq_state_statistics,
|
||||
ofCrAnListF_append, ofCrAnListF_append]
|
||||
rw [Finset.sum_sub_distrib, ← Finset.mul_sum, ← Finset.smul_sum,
|
||||
← Finset.sum_mul, ← ofFieldOpListF_sum]
|
||||
simp
|
||||
|
@ -78,7 +78,7 @@ lemma superCommuteF_ofFieldOpListF_ofFieldOpFsList (φ : List 𝓕.States) (φs
|
|||
Algebra.smul_mul_assoc]
|
||||
conv_lhs =>
|
||||
enter [2, x]
|
||||
rw [superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp only [instCommGroup.eq_1, CrAnSection.statistics_eq_state_statistics,
|
||||
Algebra.smul_mul_assoc, Finset.sum_sub_distrib]
|
||||
rw [← Finset.sum_mul, ← Finset.smul_sum, ← Finset.mul_sum, ← ofFieldOpListF_sum]
|
||||
|
@ -106,22 +106,22 @@ lemma superCommuteF_anPartF_crPartF (φ φ' : 𝓕.States) :
|
|||
sub_self]
|
||||
| States.position φ, States.position φ' =>
|
||||
simp only [anPartF_position, crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.outAsymp φ, States.position φ' =>
|
||||
simp only [anPartF_posAsymp, crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.position φ, States.inAsymp φ' =>
|
||||
simp only [anPartF_position, crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [List.singleton_append, instCommGroup.eq_1, crAnStatistics,
|
||||
FieldStatistic.ofList_singleton, Function.comp_apply, crAnStatesToStates_prod, ←
|
||||
ofCrAnList_append]
|
||||
ofCrAnListF_append]
|
||||
| States.outAsymp φ, States.inAsymp φ' =>
|
||||
simp only [anPartF_posAsymp, crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
|
||||
lemma superCommuteF_crPartF_anPartF (φ φ' : 𝓕.States) :
|
||||
[crPartF φ, anPartF φ']ₛca = crPartF φ * anPartF φ' -
|
||||
|
@ -135,20 +135,20 @@ lemma superCommuteF_crPartF_anPartF (φ φ' : 𝓕.States) :
|
|||
sub_self]
|
||||
| States.position φ, States.position φ' =>
|
||||
simp only [crPartF_position, anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.position φ, States.outAsymp φ' =>
|
||||
simp only [crPartF_position, anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.inAsymp φ, States.position φ' =>
|
||||
simp only [crPartF_negAsymp, anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.inAsymp φ, States.outAsymp φ' =>
|
||||
simp only [crPartF_negAsymp, anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
|
||||
lemma superCommuteF_crPartF_crPartF (φ φ' : 𝓕.States) :
|
||||
[crPartF φ, crPartF φ']ₛca = crPartF φ * crPartF φ' -
|
||||
|
@ -162,20 +162,20 @@ lemma superCommuteF_crPartF_crPartF (φ φ' : 𝓕.States) :
|
|||
sub_self]
|
||||
| States.position φ, States.position φ' =>
|
||||
simp only [crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.position φ, States.inAsymp φ' =>
|
||||
simp only [crPartF_position, crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.inAsymp φ, States.position φ' =>
|
||||
simp only [crPartF_negAsymp, crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.inAsymp φ, States.inAsymp φ' =>
|
||||
simp only [crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
|
||||
lemma superCommuteF_anPartF_anPartF (φ φ' : 𝓕.States) :
|
||||
[anPartF φ, anPartF φ']ₛca =
|
||||
|
@ -187,20 +187,20 @@ lemma superCommuteF_anPartF_anPartF (φ φ' : 𝓕.States) :
|
|||
simp
|
||||
| States.position φ, States.position φ' =>
|
||||
simp only [anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.position φ, States.outAsymp φ' =>
|
||||
simp only [anPartF_position, anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.outAsymp φ, States.position φ' =>
|
||||
simp only [anPartF_posAsymp, anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
| States.outAsymp φ, States.outAsymp φ' =>
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [crAnStatistics, ← ofCrAnListF_append]
|
||||
|
||||
lemma superCommuteF_crPartF_ofFieldOpListF (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
[crPartF φ, ofFieldOpListF φs]ₛca =
|
||||
|
@ -209,11 +209,11 @@ lemma superCommuteF_crPartF_ofFieldOpListF (φ : 𝓕.States) (φs : List 𝓕.S
|
|||
match φ with
|
||||
| States.inAsymp φ =>
|
||||
simp only [crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp [crAnStatistics]
|
||||
| States.position φ =>
|
||||
simp only [crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp [crAnStatistics]
|
||||
| States.outAsymp φ =>
|
||||
simp
|
||||
|
@ -227,11 +227,11 @@ lemma superCommuteF_anPartF_ofFieldOpListF (φ : 𝓕.States) (φs : List 𝓕.S
|
|||
simp
|
||||
| States.position φ =>
|
||||
simp only [anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp [crAnStatistics]
|
||||
| States.outAsymp φ =>
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp [crAnStatistics]
|
||||
|
||||
lemma superCommuteF_crPartF_ofFieldOpF (φ φ' : 𝓕.States) :
|
||||
|
@ -256,16 +256,16 @@ Lemmas which rewrite a multiplication of two elements of the algebra as their co
|
|||
multiplication with a sign plus the super commutor.
|
||||
|
||||
-/
|
||||
lemma ofCrAnList_mul_ofCrAnList_eq_superCommuteF (φs φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnList φs * ofCrAnList φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList φs' * ofCrAnList φs
|
||||
+ [ofCrAnList φs, ofCrAnList φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [ofCrAnList_append]
|
||||
lemma ofCrAnListF_mul_ofCrAnListF_eq_superCommuteF (φs φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnListF φs * ofCrAnListF φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnListF φs' * ofCrAnListF φs
|
||||
+ [ofCrAnListF φs, ofCrAnListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [ofCrAnListF_append]
|
||||
|
||||
lemma ofCrAnState_mul_ofCrAnList_eq_superCommuteF (φ : 𝓕.CrAnStates) (φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnState φ * ofCrAnList φs' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofCrAnList φs' * ofCrAnState φ
|
||||
+ [ofCrAnState φ, ofCrAnList φs']ₛca := by
|
||||
rw [← ofCrAnList_singleton, ofCrAnList_mul_ofCrAnList_eq_superCommuteF]
|
||||
lemma ofCrAnOpF_mul_ofCrAnListF_eq_superCommuteF (φ : 𝓕.CrAnStates) (φs' : List 𝓕.CrAnStates) :
|
||||
ofCrAnOpF φ * ofCrAnListF φs' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofCrAnListF φs' * ofCrAnOpF φ
|
||||
+ [ofCrAnOpF φ, ofCrAnListF φs']ₛca := by
|
||||
rw [← ofCrAnListF_singleton, ofCrAnListF_mul_ofCrAnListF_eq_superCommuteF]
|
||||
simp
|
||||
|
||||
lemma ofFieldOpListF_mul_ofFieldOpListF_eq_superCommuteF (φs φs' : List 𝓕.States) :
|
||||
|
@ -314,10 +314,10 @@ lemma anPartF_mul_anPartF_eq_superCommuteF (φ φ' : 𝓕.States) :
|
|||
rw [superCommuteF_anPartF_anPartF]
|
||||
simp
|
||||
|
||||
lemma ofCrAnList_mul_ofFieldOpListF_eq_superCommuteF (φs : List 𝓕.CrAnStates) (φs' : List 𝓕.States) :
|
||||
ofCrAnList φs * ofFieldOpListF φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofFieldOpListF φs' * ofCrAnList φs
|
||||
+ [ofCrAnList φs, ofFieldOpListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
lemma ofCrAnListF_mul_ofFieldOpListF_eq_superCommuteF (φs : List 𝓕.CrAnStates) (φs' : List 𝓕.States) :
|
||||
ofCrAnListF φs * ofFieldOpListF φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofFieldOpListF φs' * ofCrAnListF φs
|
||||
+ [ofCrAnListF φs, ofFieldOpListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
simp
|
||||
|
||||
/-!
|
||||
|
@ -326,10 +326,10 @@ lemma ofCrAnList_mul_ofFieldOpListF_eq_superCommuteF (φs : List 𝓕.CrAnStates
|
|||
|
||||
-/
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofCrAnList_symm (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs, ofCrAnList φs']ₛca =
|
||||
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnList φs', ofCrAnList φs]ₛca := by
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, superCommuteF_ofCrAnList_ofCrAnList, smul_sub]
|
||||
lemma superCommuteF_ofCrAnListF_ofCrAnListF_symm (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs, ofCrAnListF φs']ₛca =
|
||||
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnListF φs', ofCrAnListF φs]ₛca := by
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, superCommuteF_ofCrAnListF_ofCrAnListF, smul_sub]
|
||||
simp only [instCommGroup.eq_1, neg_smul, sub_neg_eq_add]
|
||||
rw [smul_smul]
|
||||
conv_rhs =>
|
||||
|
@ -338,10 +338,10 @@ lemma superCommuteF_ofCrAnList_ofCrAnList_symm (φs φs' : List 𝓕.CrAnStates)
|
|||
simp only [one_smul]
|
||||
abel
|
||||
|
||||
lemma superCommuteF_ofCrAnState_ofCrAnState_symm (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnState φ, ofCrAnState φ']ₛca =
|
||||
(- 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ')) • [ofCrAnState φ', ofCrAnState φ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState, superCommuteF_ofCrAnState_ofCrAnState]
|
||||
lemma superCommuteF_ofCrAnOpF_ofCrAnOpF_symm (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnOpF φ, ofCrAnOpF φ']ₛca =
|
||||
(- 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ')) • [ofCrAnOpF φ', ofCrAnOpF φ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF, superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||||
rw [smul_sub]
|
||||
simp only [instCommGroup.eq_1, Algebra.smul_mul_assoc, neg_smul, sub_neg_eq_add]
|
||||
rw [smul_smul]
|
||||
|
@ -357,41 +357,41 @@ lemma superCommuteF_ofCrAnState_ofCrAnState_symm (φ φ' : 𝓕.CrAnStates) :
|
|||
|
||||
-/
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofCrAnList_cons (φ : 𝓕.CrAnStates) (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs, ofCrAnList (φ :: φs')]ₛca =
|
||||
[ofCrAnList φs, ofCrAnState φ]ₛca * ofCrAnList φs' +
|
||||
lemma superCommuteF_ofCrAnListF_ofCrAnListF_cons (φ : 𝓕.CrAnStates) (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs, ofCrAnListF (φ :: φs')]ₛca =
|
||||
[ofCrAnListF φs, ofCrAnOpF φ]ₛca * ofCrAnListF φs' +
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ)
|
||||
• ofCrAnState φ * [ofCrAnList φs, ofCrAnList φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
• ofCrAnOpF φ * [ofCrAnListF φs, ofCrAnListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
conv_rhs =>
|
||||
lhs
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList, sub_mul, ← ofCrAnList_append]
|
||||
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF, sub_mul, ← ofCrAnListF_append]
|
||||
rhs
|
||||
rw [FieldStatistic.ofList_singleton, ofCrAnList_append, ofCrAnList_singleton, smul_mul_assoc,
|
||||
mul_assoc, ← ofCrAnList_append]
|
||||
rw [FieldStatistic.ofList_singleton, ofCrAnListF_append, ofCrAnListF_singleton, smul_mul_assoc,
|
||||
mul_assoc, ← ofCrAnListF_append]
|
||||
conv_rhs =>
|
||||
rhs
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList, mul_sub, smul_mul_assoc]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF, mul_sub, smul_mul_assoc]
|
||||
simp only [instCommGroup.eq_1, List.cons_append, List.append_assoc, List.nil_append,
|
||||
Algebra.mul_smul_comm, Algebra.smul_mul_assoc, sub_add_sub_cancel, sub_right_inj]
|
||||
rw [← ofCrAnList_cons, smul_smul, FieldStatistic.ofList_cons_eq_mul]
|
||||
rw [← ofCrAnListF_cons, smul_smul, FieldStatistic.ofList_cons_eq_mul]
|
||||
simp only [instCommGroup, map_mul, mul_comm]
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofFieldOpListF_cons (φ : 𝓕.States) (φs : List 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : [ofCrAnList φs, ofFieldOpListF (φ :: φs')]ₛca =
|
||||
[ofCrAnList φs, ofFieldOpF φ]ₛca * ofFieldOpListF φs' +
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofFieldOpF φ * [ofCrAnList φs, ofFieldOpListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnList_ofFieldOpFsList]
|
||||
lemma superCommuteF_ofCrAnListF_ofFieldOpListF_cons (φ : 𝓕.States) (φs : List 𝓕.CrAnStates)
|
||||
(φs' : List 𝓕.States) : [ofCrAnListF φs, ofFieldOpListF (φ :: φs')]ₛca =
|
||||
[ofCrAnListF φs, ofFieldOpF φ]ₛca * ofFieldOpListF φs' +
|
||||
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofFieldOpF φ * [ofCrAnListF φs, ofFieldOpListF φs']ₛca := by
|
||||
rw [superCommuteF_ofCrAnListF_ofFieldOpFsList]
|
||||
conv_rhs =>
|
||||
lhs
|
||||
rw [← ofFieldOpListF_singleton, superCommuteF_ofCrAnList_ofFieldOpFsList, sub_mul, mul_assoc,
|
||||
rw [← ofFieldOpListF_singleton, superCommuteF_ofCrAnListF_ofFieldOpFsList, sub_mul, mul_assoc,
|
||||
← ofFieldOpListF_append]
|
||||
rhs
|
||||
rw [FieldStatistic.ofList_singleton, ofFieldOpListF_singleton, smul_mul_assoc,
|
||||
smul_mul_assoc, mul_assoc]
|
||||
conv_rhs =>
|
||||
rhs
|
||||
rw [superCommuteF_ofCrAnList_ofFieldOpFsList, mul_sub, smul_mul_assoc]
|
||||
rw [superCommuteF_ofCrAnListF_ofFieldOpFsList, mul_sub, smul_mul_assoc]
|
||||
simp only [instCommGroup, Algebra.smul_mul_assoc, List.singleton_append, Algebra.mul_smul_comm,
|
||||
sub_add_sub_cancel, sub_right_inj]
|
||||
rw [ofFieldOpListF_cons, mul_assoc, smul_smul, FieldStatistic.ofList_cons_eq_mul]
|
||||
|
@ -402,48 +402,48 @@ Within the creation and annihilation algebra, we have that
|
|||
`[φᶜᵃs, φᶜᵃ₀ … φᶜᵃₙ]ₛca = ∑ i, sᵢ • φᶜᵃs₀ … φᶜᵃᵢ₋₁ * [φᶜᵃs, φᶜᵃᵢ]ₛca * φᶜᵃᵢ₊₁ … φᶜᵃₙ`
|
||||
where `sᵢ` is the exchange sign for `φᶜᵃs` and `φᶜᵃs₀ … φᶜᵃᵢ₋₁`.
|
||||
-/
|
||||
lemma superCommuteF_ofCrAnList_ofCrAnList_eq_sum (φs : List 𝓕.CrAnStates) :
|
||||
(φs' : List 𝓕.CrAnStates) → [ofCrAnList φs, ofCrAnList φs']ₛca =
|
||||
lemma superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum (φs : List 𝓕.CrAnStates) :
|
||||
(φs' : List 𝓕.CrAnStates) → [ofCrAnListF φs, ofCrAnListF φs']ₛca =
|
||||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
||||
ofCrAnList (φs'.take n) * [ofCrAnList φs, ofCrAnState (φs'.get n)]ₛca *
|
||||
ofCrAnList (φs'.drop (n + 1))
|
||||
ofCrAnListF (φs'.take n) * [ofCrAnListF φs, ofCrAnOpF (φs'.get n)]ₛca *
|
||||
ofCrAnListF (φs'.drop (n + 1))
|
||||
| [] => by
|
||||
simp [← ofCrAnList_nil, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [← ofCrAnListF_nil, superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
| φ :: φs' => by
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList_cons, superCommuteF_ofCrAnList_ofCrAnList_eq_sum φs φs']
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF_cons, superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum φs φs']
|
||||
conv_rhs => erw [Fin.sum_univ_succ]
|
||||
congr 1
|
||||
· simp
|
||||
· simp [Finset.mul_sum, smul_smul, ofCrAnList_cons, mul_assoc,
|
||||
· simp [Finset.mul_sum, smul_smul, ofCrAnListF_cons, mul_assoc,
|
||||
FieldStatistic.ofList_cons_eq_mul, mul_comm]
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofFieldOpListF_eq_sum (φs : List 𝓕.CrAnStates) : (φs' : List 𝓕.States) →
|
||||
[ofCrAnList φs, ofFieldOpListF φs']ₛca =
|
||||
lemma superCommuteF_ofCrAnListF_ofFieldOpListF_eq_sum (φs : List 𝓕.CrAnStates) : (φs' : List 𝓕.States) →
|
||||
[ofCrAnListF φs, ofFieldOpListF φs']ₛca =
|
||||
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
||||
ofFieldOpListF (φs'.take n) * [ofCrAnList φs, ofFieldOpF (φs'.get n)]ₛca *
|
||||
ofFieldOpListF (φs'.take n) * [ofCrAnListF φs, ofFieldOpF (φs'.get n)]ₛca *
|
||||
ofFieldOpListF (φs'.drop (n + 1))
|
||||
| [] => by
|
||||
simp only [superCommuteF_ofCrAnList_ofFieldOpFsList, instCommGroup, ofList_empty,
|
||||
simp only [superCommuteF_ofCrAnListF_ofFieldOpFsList, instCommGroup, ofList_empty,
|
||||
exchangeSign_bosonic, one_smul, List.length_nil, Finset.univ_eq_empty, List.take_nil,
|
||||
List.get_eq_getElem, List.drop_nil, Finset.sum_empty]
|
||||
simp
|
||||
| φ :: φs' => by
|
||||
rw [superCommuteF_ofCrAnList_ofFieldOpListF_cons,
|
||||
superCommuteF_ofCrAnList_ofFieldOpListF_eq_sum φs φs']
|
||||
rw [superCommuteF_ofCrAnListF_ofFieldOpListF_cons,
|
||||
superCommuteF_ofCrAnListF_ofFieldOpListF_eq_sum φs φs']
|
||||
conv_rhs => erw [Fin.sum_univ_succ]
|
||||
congr 1
|
||||
· simp
|
||||
· simp [Finset.mul_sum, smul_smul, ofFieldOpListF_cons, mul_assoc,
|
||||
FieldStatistic.ofList_cons_eq_mul, mul_comm]
|
||||
|
||||
lemma summerCommute_jacobi_ofCrAnList (φs1 φs2 φs3 : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs1, [ofCrAnList φs2, ofCrAnList φs3]ₛca]ₛca =
|
||||
lemma summerCommute_jacobi_ofCrAnListF (φs1 φs2 φs3 : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs1, [ofCrAnListF φs2, ofCrAnListF φs3]ₛca]ₛca =
|
||||
𝓢(𝓕 |>ₛ φs1, 𝓕 |>ₛ φs3) •
|
||||
(- 𝓢(𝓕 |>ₛ φs2, 𝓕 |>ₛ φs3) • [ofCrAnList φs3, [ofCrAnList φs1, ofCrAnList φs2]ₛca]ₛca -
|
||||
𝓢(𝓕 |>ₛ φs1, 𝓕 |>ₛ φs2) • [ofCrAnList φs2, [ofCrAnList φs3, ofCrAnList φs1]ₛca]ₛca) := by
|
||||
repeat rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
(- 𝓢(𝓕 |>ₛ φs2, 𝓕 |>ₛ φs3) • [ofCrAnListF φs3, [ofCrAnListF φs1, ofCrAnListF φs2]ₛca]ₛca -
|
||||
𝓢(𝓕 |>ₛ φs1, 𝓕 |>ₛ φs2) • [ofCrAnListF φs2, [ofCrAnListF φs3, ofCrAnListF φs1]ₛca]ₛca) := by
|
||||
repeat rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [instCommGroup, map_sub, map_smul, neg_smul]
|
||||
repeat rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
repeat rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp only [instCommGroup.eq_1, ofList_append_eq_mul, List.append_assoc]
|
||||
by_cases h1 : (𝓕 |>ₛ φs1) = bosonic <;>
|
||||
by_cases h2 : (𝓕 |>ₛ φs2) = bosonic <;>
|
||||
|
@ -497,18 +497,18 @@ lemma superCommuteF_grade {a b : 𝓕.FieldOpFreeAlgebra} {f1 f2 : FieldStatisti
|
|||
obtain ⟨φs, rfl, hφs⟩ := hx
|
||||
simp only [add_eq_mul, instCommGroup, p]
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule f1) : Prop :=
|
||||
[a2, ofCrAnList φs]ₛca ∈ statisticSubmodule (f1 + f2)
|
||||
[a2, ofCrAnListF φs]ₛca ∈ statisticSubmodule (f1 + f2)
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl, hφs'⟩ := hx
|
||||
simp only [add_eq_mul, instCommGroup, p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
apply Submodule.sub_mem _
|
||||
· apply ofCrAnList_mem_statisticSubmodule_of
|
||||
· apply ofCrAnListF_mem_statisticSubmodule_of
|
||||
rw [ofList_append_eq_mul, hφs, hφs']
|
||||
· apply Submodule.smul_mem
|
||||
apply ofCrAnList_mem_statisticSubmodule_of
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of
|
||||
rw [ofList_append_eq_mul, hφs, hφs']
|
||||
rw [mul_comm]
|
||||
· simp [p]
|
||||
|
@ -538,14 +538,14 @@ lemma superCommuteF_bosonic_bosonic {a b : 𝓕.FieldOpFreeAlgebra}
|
|||
· intro x hx
|
||||
obtain ⟨φs, rfl, hφs⟩ := hx
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule bosonic) : Prop :=
|
||||
[a2, ofCrAnList φs]ₛca = a2 * ofCrAnList φs - ofCrAnList φs * a2
|
||||
[a2, ofCrAnListF φs]ₛca = a2 * ofCrAnListF φs - ofCrAnListF φs * a2
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl, hφs'⟩ := hx
|
||||
simp only [p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [hφs, ofCrAnList_append]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [hφs, ofCrAnListF_append]
|
||||
· simp [p]
|
||||
· intro x y hx hy hp1 hp2
|
||||
simp_all only [p, map_add, LinearMap.add_apply, add_mul, mul_add]
|
||||
|
@ -571,14 +571,14 @@ lemma superCommuteF_bosonic_fermionic {a b : 𝓕.FieldOpFreeAlgebra}
|
|||
· intro x hx
|
||||
obtain ⟨φs, rfl, hφs⟩ := hx
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule bosonic) : Prop :=
|
||||
[a2, ofCrAnList φs]ₛca = a2 * ofCrAnList φs - ofCrAnList φs * a2
|
||||
[a2, ofCrAnListF φs]ₛca = a2 * ofCrAnListF φs - ofCrAnListF φs * a2
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl, hφs'⟩ := hx
|
||||
simp only [p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [hφs, hφs', ofCrAnList_append]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [hφs, hφs', ofCrAnListF_append]
|
||||
· simp [p]
|
||||
· intro x y hx hy hp1 hp2
|
||||
simp_all only [p, map_add, LinearMap.add_apply, add_mul, mul_add]
|
||||
|
@ -604,14 +604,14 @@ lemma superCommuteF_fermionic_bonsonic {a b : 𝓕.FieldOpFreeAlgebra}
|
|||
· intro x hx
|
||||
obtain ⟨φs, rfl, hφs⟩ := hx
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule fermionic) : Prop :=
|
||||
[a2, ofCrAnList φs]ₛca = a2 * ofCrAnList φs - ofCrAnList φs * a2
|
||||
[a2, ofCrAnListF φs]ₛca = a2 * ofCrAnListF φs - ofCrAnListF φs * a2
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl, hφs'⟩ := hx
|
||||
simp only [p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [hφs, hφs', ofCrAnList_append]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [hφs, hφs', ofCrAnListF_append]
|
||||
· simp [p]
|
||||
· intro x y hx hy hp1 hp2
|
||||
simp_all only [p, map_add, LinearMap.add_apply, add_mul, mul_add]
|
||||
|
@ -663,14 +663,14 @@ lemma superCommuteF_fermionic_fermionic {a b : 𝓕.FieldOpFreeAlgebra}
|
|||
· intro x hx
|
||||
obtain ⟨φs, rfl, hφs⟩ := hx
|
||||
let p (a2 : 𝓕.FieldOpFreeAlgebra) (hx : a2 ∈ statisticSubmodule fermionic) : Prop :=
|
||||
[a2, ofCrAnList φs]ₛca = a2 * ofCrAnList φs + ofCrAnList φs * a2
|
||||
[a2, ofCrAnListF φs]ₛca = a2 * ofCrAnListF φs + ofCrAnListF φs * a2
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl, hφs'⟩ := hx
|
||||
simp only [p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [hφs, hφs', ofCrAnList_append]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF]
|
||||
simp [hφs, hφs', ofCrAnListF_append]
|
||||
· simp [p]
|
||||
· intro x y hx hy hp1 hp2
|
||||
simp_all only [p, map_add, LinearMap.add_apply, add_mul, mul_add]
|
||||
|
@ -706,9 +706,9 @@ lemma superCommuteF_expand_bosonicProj_fermionicProj (a b : 𝓕.FieldOpFreeAlge
|
|||
superCommuteF_fermionic_fermionic (by simp) (by simp)]
|
||||
abel
|
||||
|
||||
lemma superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnList φs, ofCrAnList φs']ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnList φs, ofCrAnList φs']ₛca ∈ statisticSubmodule fermionic := by
|
||||
lemma superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic (φs φs' : List 𝓕.CrAnStates) :
|
||||
[ofCrAnListF φs, ofCrAnListF φs']ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnListF φs, ofCrAnListF φs']ₛca ∈ statisticSubmodule fermionic := by
|
||||
by_cases h1 : (𝓕 |>ₛ φs) = bosonic <;> by_cases h2 : (𝓕 |>ₛ φs') = bosonic
|
||||
· left
|
||||
have h : bosonic = bosonic + bosonic := by
|
||||
|
@ -716,44 +716,44 @@ lemma superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic (φs φs' : List
|
|||
rfl
|
||||
rw [h]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ h1
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ h2
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ h1
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ h2
|
||||
· right
|
||||
have h : fermionic = bosonic + fermionic := by
|
||||
simp only [add_eq_mul, instCommGroup, mul_self]
|
||||
rfl
|
||||
rw [h]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ h1
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ (by simpa using h2)
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ h1
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ (by simpa using h2)
|
||||
· right
|
||||
have h : fermionic = fermionic + bosonic := by
|
||||
simp only [add_eq_mul, instCommGroup, mul_self]
|
||||
rfl
|
||||
rw [h]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ (by simpa using h1)
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ h2
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ (by simpa using h1)
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ h2
|
||||
· left
|
||||
have h : bosonic = fermionic + fermionic := by
|
||||
simp only [add_eq_mul, instCommGroup, mul_self]
|
||||
rfl
|
||||
rw [h]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ (by simpa using h1)
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ (by simpa using h2)
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ (by simpa using h1)
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ (by simpa using h2)
|
||||
|
||||
lemma superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnState φ, ofCrAnState φ']ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnState φ, ofCrAnState φ']ₛca ∈ statisticSubmodule fermionic := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
exact superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic [φ] [φ']
|
||||
lemma superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic (φ φ' : 𝓕.CrAnStates) :
|
||||
[ofCrAnOpF φ, ofCrAnOpF φ']ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnOpF φ, ofCrAnOpF φ']ₛca ∈ statisticSubmodule fermionic := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
exact superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic [φ] [φ']
|
||||
|
||||
lemma superCommuteF_superCommuteF_ofCrAnState_bosonic_or_fermionic (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
[ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca ∈ statisticSubmodule fermionic := by
|
||||
rcases superCommuteF_ofCrAnState_ofCrAnState_bosonic_or_fermionic φ2 φ3 with hs | hs
|
||||
<;> rcases ofCrAnState_bosonic_or_fermionic φ1 with h1 | h1
|
||||
lemma superCommuteF_superCommuteF_ofCrAnOpF_bosonic_or_fermionic (φ1 φ2 φ3 : 𝓕.CrAnStates) :
|
||||
[ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca ∈ statisticSubmodule bosonic ∨
|
||||
[ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca ∈ statisticSubmodule fermionic := by
|
||||
rcases superCommuteF_ofCrAnOpF_ofCrAnOpF_bosonic_or_fermionic φ2 φ3 with hs | hs
|
||||
<;> rcases ofCrAnOpF_bosonic_or_fermionic φ1 with h1 | h1
|
||||
· left
|
||||
have h : bosonic = bosonic + bosonic := by
|
||||
simp only [add_eq_mul, instCommGroup, mul_self]
|
||||
|
@ -779,21 +779,21 @@ lemma superCommuteF_superCommuteF_ofCrAnState_bosonic_or_fermionic (φ1 φ2 φ3
|
|||
rw [h]
|
||||
apply superCommuteF_grade h1 hs
|
||||
|
||||
lemma superCommuteF_bosonic_ofCrAnList_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (φs : List 𝓕.CrAnStates)
|
||||
lemma superCommuteF_bosonic_ofCrAnListF_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (φs : List 𝓕.CrAnStates)
|
||||
(ha : a ∈ statisticSubmodule bosonic) :
|
||||
[a, ofCrAnList φs]ₛca = ∑ (n : Fin φs.length),
|
||||
ofCrAnList (φs.take n) * [a, ofCrAnState (φs.get n)]ₛca *
|
||||
ofCrAnList (φs.drop (n + 1)) := by
|
||||
[a, ofCrAnListF φs]ₛca = ∑ (n : Fin φs.length),
|
||||
ofCrAnListF (φs.take n) * [a, ofCrAnOpF (φs.get n)]ₛca *
|
||||
ofCrAnListF (φs.drop (n + 1)) := by
|
||||
let p (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ statisticSubmodule bosonic) : Prop :=
|
||||
[a, ofCrAnList φs]ₛca = ∑ (n : Fin φs.length),
|
||||
ofCrAnList (φs.take n) * [a, ofCrAnState (φs.get n)]ₛca *
|
||||
ofCrAnList (φs.drop (n + 1))
|
||||
[a, ofCrAnListF φs]ₛca = ∑ (n : Fin φs.length),
|
||||
ofCrAnListF (φs.take n) * [a, ofCrAnOpF (φs.get n)]ₛca *
|
||||
ofCrAnListF (φs.drop (n + 1))
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro a ha
|
||||
obtain ⟨φs, rfl, hφs⟩ := ha
|
||||
simp only [List.get_eq_getElem, p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList_eq_sum]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
||||
congr
|
||||
funext n
|
||||
simp [hφs]
|
||||
|
@ -808,21 +808,21 @@ lemma superCommuteF_bosonic_ofCrAnList_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (φs
|
|||
simp_all [p, Finset.smul_sum]
|
||||
· exact ha
|
||||
|
||||
lemma superCommuteF_fermionic_ofCrAnList_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (φs : List 𝓕.CrAnStates)
|
||||
lemma superCommuteF_fermionic_ofCrAnListF_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (φs : List 𝓕.CrAnStates)
|
||||
(ha : a ∈ statisticSubmodule fermionic) :
|
||||
[a, ofCrAnList φs]ₛca = ∑ (n : Fin φs.length), 𝓢(fermionic, 𝓕 |>ₛ φs.take n) •
|
||||
ofCrAnList (φs.take n) * [a, ofCrAnState (φs.get n)]ₛca *
|
||||
ofCrAnList (φs.drop (n + 1)) := by
|
||||
[a, ofCrAnListF φs]ₛca = ∑ (n : Fin φs.length), 𝓢(fermionic, 𝓕 |>ₛ φs.take n) •
|
||||
ofCrAnListF (φs.take n) * [a, ofCrAnOpF (φs.get n)]ₛca *
|
||||
ofCrAnListF (φs.drop (n + 1)) := by
|
||||
let p (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ statisticSubmodule fermionic) : Prop :=
|
||||
[a, ofCrAnList φs]ₛca = ∑ (n : Fin φs.length), 𝓢(fermionic, 𝓕 |>ₛ φs.take n) •
|
||||
ofCrAnList (φs.take n) * [a, ofCrAnState (φs.get n)]ₛca *
|
||||
ofCrAnList (φs.drop (n + 1))
|
||||
[a, ofCrAnListF φs]ₛca = ∑ (n : Fin φs.length), 𝓢(fermionic, 𝓕 |>ₛ φs.take n) •
|
||||
ofCrAnListF (φs.take n) * [a, ofCrAnOpF (φs.get n)]ₛca *
|
||||
ofCrAnListF (φs.drop (n + 1))
|
||||
change p a ha
|
||||
apply Submodule.span_induction (p := p)
|
||||
· intro a ha
|
||||
obtain ⟨φs, rfl, hφs⟩ := ha
|
||||
simp only [instCommGroup, List.get_eq_getElem, Algebra.smul_mul_assoc, p]
|
||||
rw [superCommuteF_ofCrAnList_ofCrAnList_eq_sum]
|
||||
rw [superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
||||
congr
|
||||
funext n
|
||||
simp [hφs]
|
||||
|
@ -843,9 +843,9 @@ lemma superCommuteF_fermionic_ofCrAnList_eq_sum (a : 𝓕.FieldOpFreeAlgebra) (
|
|||
· exact ha
|
||||
|
||||
lemma statistic_neq_of_superCommuteF_fermionic {φs φs' : List 𝓕.CrAnStates}
|
||||
(h : [ofCrAnList φs, ofCrAnList φs']ₛca ∈ statisticSubmodule fermionic) :
|
||||
(𝓕 |>ₛ φs) ≠ (𝓕 |>ₛ φs') ∨ [ofCrAnList φs, ofCrAnList φs']ₛca = 0 := by
|
||||
by_cases h0 : [ofCrAnList φs, ofCrAnList φs']ₛca = 0
|
||||
(h : [ofCrAnListF φs, ofCrAnListF φs']ₛca ∈ statisticSubmodule fermionic) :
|
||||
(𝓕 |>ₛ φs) ≠ (𝓕 |>ₛ φs') ∨ [ofCrAnListF φs, ofCrAnListF φs']ₛca = 0 := by
|
||||
by_cases h0 : [ofCrAnListF φs, ofCrAnListF φs']ₛca = 0
|
||||
· simp [h0]
|
||||
simp only [ne_eq, h0, or_false]
|
||||
by_contra hn
|
||||
|
@ -856,17 +856,17 @@ lemma statistic_neq_of_superCommuteF_fermionic {φs φs' : List 𝓕.CrAnStates}
|
|||
rfl
|
||||
rw [h1]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _ hc
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _ hc
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _
|
||||
rw [← hn, hc]
|
||||
· have h1 : bosonic = fermionic + fermionic := by
|
||||
simp only [add_eq_mul, instCommGroup, mul_self]
|
||||
rfl
|
||||
rw [h1]
|
||||
apply superCommuteF_grade
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _
|
||||
simpa using hc
|
||||
apply ofCrAnList_mem_statisticSubmodule_of _ _
|
||||
apply ofCrAnListF_mem_statisticSubmodule_of _ _
|
||||
rw [← hn]
|
||||
simpa using hc
|
||||
|
||||
|
|
|
@ -28,43 +28,43 @@ open HepLean.List
|
|||
|
||||
/-- Time ordering for the `FieldOpFreeAlgebra`. -/
|
||||
def timeOrderF : FieldOpFreeAlgebra 𝓕 →ₗ[ℂ] FieldOpFreeAlgebra 𝓕 :=
|
||||
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
||||
crAnTimeOrderSign φs • ofCrAnList (crAnTimeOrderList φs)
|
||||
Basis.constr ofCrAnListFBasis ℂ fun φs =>
|
||||
crAnTimeOrderSign φs • ofCrAnListF (crAnTimeOrderList φs)
|
||||
|
||||
@[inherit_doc timeOrderF]
|
||||
scoped[FieldSpecification.FieldOpFreeAlgebra] notation "𝓣ᶠ(" a ")" => timeOrderF a
|
||||
|
||||
lemma timeOrderF_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
𝓣ᶠ(ofCrAnList φs) = crAnTimeOrderSign φs • ofCrAnList (crAnTimeOrderList φs) := by
|
||||
lemma timeOrderF_ofCrAnListF (φs : List 𝓕.CrAnStates) :
|
||||
𝓣ᶠ(ofCrAnListF φs) = crAnTimeOrderSign φs • ofCrAnListF (crAnTimeOrderList φs) := by
|
||||
rw [← ofListBasis_eq_ofList]
|
||||
simp only [timeOrderF, Basis.constr_basis]
|
||||
|
||||
lemma timeOrderF_timeOrderF_mid (a b c : 𝓕.FieldOpFreeAlgebra) : 𝓣ᶠ(a * b * c) = 𝓣ᶠ(a * 𝓣ᶠ(b) * c) := by
|
||||
let pc (c : 𝓕.FieldOpFreeAlgebra) (hc : c ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
let pc (c : 𝓕.FieldOpFreeAlgebra) (hc : c ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓣ᶠ(a * b * c) = 𝓣ᶠ(a * 𝓣ᶠ(b) * c)
|
||||
change pc c (Basis.mem_span _ c)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs, rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pc]
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hb : b ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := 𝓣ᶠ(a * b * ofCrAnList φs) = 𝓣ᶠ(a * 𝓣ᶠ(b) * ofCrAnList φs)
|
||||
let pb (b : 𝓕.FieldOpFreeAlgebra) (hb : b ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓣ᶠ(a * b * ofCrAnListF φs) = 𝓣ᶠ(a * 𝓣ᶠ(b) * ofCrAnListF φs)
|
||||
change pb b (Basis.mem_span _ b)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pb]
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ Submodule.span ℂ (Set.range ofCrAnListBasis)) :
|
||||
Prop := 𝓣ᶠ(a * ofCrAnList φs' * ofCrAnList φs) = 𝓣ᶠ(a * 𝓣ᶠ(ofCrAnList φs') * ofCrAnList φs)
|
||||
let pa (a : 𝓕.FieldOpFreeAlgebra) (ha : a ∈ Submodule.span ℂ (Set.range ofCrAnListFBasis)) :
|
||||
Prop := 𝓣ᶠ(a * ofCrAnListF φs' * ofCrAnListF φs) = 𝓣ᶠ(a * 𝓣ᶠ(ofCrAnListF φs') * ofCrAnListF φs)
|
||||
change pa a (Basis.mem_span _ a)
|
||||
apply Submodule.span_induction
|
||||
· intro x hx
|
||||
obtain ⟨φs'', rfl⟩ := hx
|
||||
simp only [ofListBasis_eq_ofList, pa]
|
||||
rw [timeOrderF_ofCrAnList]
|
||||
simp only [← ofCrAnList_append, Algebra.mul_smul_comm,
|
||||
rw [timeOrderF_ofCrAnListF]
|
||||
simp only [← ofCrAnListF_append, Algebra.mul_smul_comm,
|
||||
Algebra.smul_mul_assoc, map_smul]
|
||||
rw [timeOrderF_ofCrAnList, timeOrderF_ofCrAnList, smul_smul]
|
||||
rw [timeOrderF_ofCrAnListF, timeOrderF_ofCrAnListF, smul_smul]
|
||||
congr 1
|
||||
· simp only [crAnTimeOrderSign, crAnTimeOrderList]
|
||||
rw [Wick.koszulSign_of_append_eq_insertionSort, mul_comm]
|
||||
|
@ -104,7 +104,7 @@ lemma timeOrderF_ofFieldOpListF (φs : List 𝓕.States) :
|
|||
conv_lhs =>
|
||||
rw [ofFieldOpListF_sum, map_sum]
|
||||
enter [2, x]
|
||||
rw [timeOrderF_ofCrAnList]
|
||||
rw [timeOrderF_ofCrAnListF]
|
||||
simp only [crAnTimeOrderSign_crAnSection]
|
||||
rw [← Finset.smul_sum]
|
||||
congr
|
||||
|
@ -144,13 +144,13 @@ lemma timeOrderF_ofFieldOpF_ofFieldOpF_not_ordered_eq_timeOrderF {φ ψ : 𝓕.S
|
|||
have hx := IsTotal.total (r := timeOrderRel) ψ φ
|
||||
simp_all
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel
|
||||
{φ ψ : 𝓕.CrAnStates} (h : ¬ crAnTimeOrderRel φ ψ) :
|
||||
𝓣ᶠ([ofCrAnState φ, ofCrAnState ψ]ₛca) = 0 := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState]
|
||||
𝓣ᶠ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca) = 0 := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||||
simp only [instCommGroup.eq_1, Algebra.smul_mul_assoc, map_sub, map_smul]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton,
|
||||
← ofCrAnList_append, ← ofCrAnList_append, timeOrderF_ofCrAnList, timeOrderF_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton,
|
||||
← ofCrAnListF_append, ← ofCrAnListF_append, timeOrderF_ofCrAnListF, timeOrderF_ofCrAnListF]
|
||||
simp only [List.singleton_append]
|
||||
rw [crAnTimeOrderSign_pair_not_ordered h, crAnTimeOrderList_pair_not_ordered h]
|
||||
rw [sub_eq_zero, smul_smul]
|
||||
|
@ -162,98 +162,98 @@ lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel
|
|||
· rw [crAnTimeOrderList_pair_ordered]
|
||||
simp_all
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_right
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_right
|
||||
{φ ψ : 𝓕.CrAnStates} (h : ¬ crAnTimeOrderRel φ ψ) (a : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca) = 0 := by
|
||||
𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca) = 0 := by
|
||||
rw [timeOrderF_timeOrderF_right,
|
||||
timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel h]
|
||||
timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel h]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_left
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_left
|
||||
{φ ψ : 𝓕.CrAnStates} (h : ¬ crAnTimeOrderRel φ ψ) (a : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓣ᶠ([ofCrAnState φ, ofCrAnState ψ]ₛca * a) = 0 := by
|
||||
𝓣ᶠ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * a) = 0 := by
|
||||
rw [timeOrderF_timeOrderF_left,
|
||||
timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel h]
|
||||
timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel h]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_mid
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_mid
|
||||
{φ ψ : 𝓕.CrAnStates} (h : ¬ crAnTimeOrderRel φ ψ) (a b : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓣ᶠ(a * [ofCrAnState φ, ofCrAnState ψ]ₛca * b) = 0 := by
|
||||
𝓣ᶠ(a * [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca * b) = 0 := by
|
||||
rw [timeOrderF_timeOrderF_mid,
|
||||
timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel h]
|
||||
timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel h]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel
|
||||
lemma timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel
|
||||
{φ1 φ2 : 𝓕.CrAnStates} (h : ¬ crAnTimeOrderRel φ1 φ2) (a : 𝓕.FieldOpFreeAlgebra) :
|
||||
𝓣ᶠ([a, [ofCrAnState φ1, ofCrAnState φ2]ₛca]ₛca) = 0 := by
|
||||
𝓣ᶠ([a, [ofCrAnOpF φ1, ofCrAnOpF φ2]ₛca]ₛca) = 0 := by
|
||||
rw [← bosonicProj_add_fermionicProj a]
|
||||
simp only [map_add, LinearMap.add_apply]
|
||||
rw [bosonic_superCommuteF (Submodule.coe_mem (bosonicProj a))]
|
||||
simp only [map_sub]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_right h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_right h]
|
||||
simp only [sub_self, zero_add]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rcases superCommuteF_ofCrAnList_ofCrAnList_bosonic_or_fermionic [φ1] [φ2] with h' | h'
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rcases superCommuteF_ofCrAnListF_ofCrAnListF_bosonic_or_fermionic [φ1] [φ2] with h' | h'
|
||||
· rw [superCommuteF_bonsonic h']
|
||||
simp only [ofCrAnList_singleton, map_sub]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_right h]
|
||||
simp only [ofCrAnListF_singleton, map_sub]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_right h]
|
||||
simp
|
||||
· rw [superCommuteF_fermionic_fermionic (Submodule.coe_mem (fermionicProj a)) h']
|
||||
simp only [ofCrAnList_singleton, map_add]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_not_crAnTimeOrderRel_right h]
|
||||
simp only [ofCrAnListF_singleton, map_add]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_left h]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_not_crAnTimeOrderRel_right h]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_superCommuteF_not_crAnTimeOrderRel
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_not_crAnTimeOrderRel
|
||||
{φ1 φ2 φ3 : 𝓕.CrAnStates} (h12 : ¬ crAnTimeOrderRel φ1 φ2)
|
||||
(h13 : ¬ crAnTimeOrderRel φ1 φ3) :
|
||||
𝓣ᶠ([ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca) = 0 := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rw [summerCommute_jacobi_ofCrAnList]
|
||||
simp only [instCommGroup.eq_1, ofList_singleton, ofCrAnList_singleton, neg_smul, map_smul,
|
||||
𝓣ᶠ([ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca) = 0 := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rw [summerCommute_jacobi_ofCrAnListF]
|
||||
simp only [instCommGroup.eq_1, ofList_singleton, ofCrAnListF_singleton, neg_smul, map_smul,
|
||||
map_sub, map_neg, smul_eq_zero]
|
||||
right
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h12]
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState_symm φ3]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h12]
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF_symm φ3]
|
||||
simp only [smul_zero, neg_zero, instCommGroup.eq_1, neg_smul, map_neg, map_smul, smul_neg,
|
||||
sub_neg_eq_add, zero_add, smul_eq_zero]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h13]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h13]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_superCommuteF_not_crAnTimeOrderRel'
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_not_crAnTimeOrderRel'
|
||||
{φ1 φ2 φ3 : 𝓕.CrAnStates} (h12 : ¬ crAnTimeOrderRel φ2 φ1)
|
||||
(h13 : ¬ crAnTimeOrderRel φ3 φ1) :
|
||||
𝓣ᶠ([ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca) = 0 := by
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
||||
rw [summerCommute_jacobi_ofCrAnList]
|
||||
simp only [instCommGroup.eq_1, ofList_singleton, ofCrAnList_singleton, neg_smul, map_smul,
|
||||
𝓣ᶠ([ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca) = 0 := by
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton, ← ofCrAnListF_singleton]
|
||||
rw [summerCommute_jacobi_ofCrAnListF]
|
||||
simp only [instCommGroup.eq_1, ofList_singleton, ofCrAnListF_singleton, neg_smul, map_smul,
|
||||
map_sub, map_neg, smul_eq_zero]
|
||||
right
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState_symm φ1]
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF_symm φ1]
|
||||
simp only [instCommGroup.eq_1, neg_smul, map_neg, map_smul, smul_neg, neg_neg]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h12]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h12]
|
||||
simp only [smul_zero, zero_sub, neg_eq_zero, smul_eq_zero]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h13]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h13]
|
||||
simp
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_superCommuteF_all_not_crAnTimeOrderRel
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_all_not_crAnTimeOrderRel
|
||||
(φ1 φ2 φ3 : 𝓕.CrAnStates) (h : ¬
|
||||
(crAnTimeOrderRel φ1 φ2 ∧ crAnTimeOrderRel φ1 φ3 ∧
|
||||
crAnTimeOrderRel φ2 φ1 ∧ crAnTimeOrderRel φ2 φ3 ∧
|
||||
crAnTimeOrderRel φ3 φ1 ∧ crAnTimeOrderRel φ3 φ2)) :
|
||||
𝓣ᶠ([ofCrAnState φ1, [ofCrAnState φ2, ofCrAnState φ3]ₛca]ₛca) = 0 := by
|
||||
𝓣ᶠ([ofCrAnOpF φ1, [ofCrAnOpF φ2, ofCrAnOpF φ3]ₛca]ₛca) = 0 := by
|
||||
simp only [not_and] at h
|
||||
by_cases h23 : ¬ crAnTimeOrderRel φ2 φ3
|
||||
· simp_all only [IsEmpty.forall_iff, implies_true]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h23]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h23]
|
||||
simp_all only [Decidable.not_not, forall_const]
|
||||
by_cases h32 : ¬ crAnTimeOrderRel φ3 φ2
|
||||
· simp_all only [not_false_eq_true, implies_true]
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState_symm]
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF_symm]
|
||||
simp only [instCommGroup.eq_1, neg_smul, map_neg, map_smul, neg_eq_zero, smul_eq_zero]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnState_not_crAnTimeOrderRel h32]
|
||||
rw [timeOrderF_superCommuteF_superCommuteF_ofCrAnOpF_not_crAnTimeOrderRel h32]
|
||||
simp
|
||||
simp_all only [imp_false, Decidable.not_not]
|
||||
by_cases h12 : ¬ crAnTimeOrderRel φ1 φ2
|
||||
|
@ -261,7 +261,7 @@ lemma timeOrderF_superCommuteF_ofCrAnState_superCommuteF_all_not_crAnTimeOrderRe
|
|||
intro h13
|
||||
apply h12
|
||||
exact IsTrans.trans φ1 φ3 φ2 h13 h32
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_superCommuteF_not_crAnTimeOrderRel h12 h13]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_not_crAnTimeOrderRel h12 h13]
|
||||
simp_all only [Decidable.not_not, forall_const]
|
||||
have h13 : crAnTimeOrderRel φ1 φ3 := IsTrans.trans φ1 φ2 φ3 h12 h23
|
||||
simp_all only [forall_const]
|
||||
|
@ -271,18 +271,18 @@ lemma timeOrderF_superCommuteF_ofCrAnState_superCommuteF_all_not_crAnTimeOrderRe
|
|||
intro h31
|
||||
apply h21
|
||||
exact IsTrans.trans φ2 φ3 φ1 h23 h31
|
||||
rw [timeOrderF_superCommuteF_ofCrAnState_superCommuteF_not_crAnTimeOrderRel' h21 h31]
|
||||
rw [timeOrderF_superCommuteF_ofCrAnOpF_superCommuteF_not_crAnTimeOrderRel' h21 h31]
|
||||
simp_all only [Decidable.not_not, forall_const]
|
||||
refine False.elim (h ?_)
|
||||
exact IsTrans.trans φ3 φ2 φ1 h32 h21
|
||||
|
||||
lemma timeOrderF_superCommuteF_ofCrAnState_ofCrAnState_eq_time
|
||||
lemma timeOrderF_superCommuteF_ofCrAnOpF_ofCrAnOpF_eq_time
|
||||
{φ ψ : 𝓕.CrAnStates} (h1 : crAnTimeOrderRel φ ψ) (h2 : crAnTimeOrderRel ψ φ) :
|
||||
𝓣ᶠ([ofCrAnState φ, ofCrAnState ψ]ₛca) = [ofCrAnState φ, ofCrAnState ψ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnState_ofCrAnState]
|
||||
𝓣ᶠ([ofCrAnOpF φ, ofCrAnOpF ψ]ₛca) = [ofCrAnOpF φ, ofCrAnOpF ψ]ₛca := by
|
||||
rw [superCommuteF_ofCrAnOpF_ofCrAnOpF]
|
||||
simp only [instCommGroup.eq_1, Algebra.smul_mul_assoc, map_sub, map_smul]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton,
|
||||
← ofCrAnList_append, ← ofCrAnList_append, timeOrderF_ofCrAnList, timeOrderF_ofCrAnList]
|
||||
rw [← ofCrAnListF_singleton, ← ofCrAnListF_singleton,
|
||||
← ofCrAnListF_append, ← ofCrAnListF_append, timeOrderF_ofCrAnListF, timeOrderF_ofCrAnListF]
|
||||
simp only [List.singleton_append]
|
||||
rw [crAnTimeOrderSign_pair_ordered h1, crAnTimeOrderList_pair_ordered h1,
|
||||
crAnTimeOrderSign_pair_ordered h2, crAnTimeOrderList_pair_ordered h2]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue