2025-01-20 15:17:48 +00:00
|
|
|
|
/-
|
|
|
|
|
Copyright (c) 2025 Joseph Tooby-Smith. All rights reserved.
|
|
|
|
|
Released under Apache 2.0 license as described in the file LICENSE.
|
|
|
|
|
Authors: Joseph Tooby-Smith
|
|
|
|
|
-/
|
|
|
|
|
import HepLean.PerturbationTheory.Algebras.CrAnAlgebra.Basic
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
# Super Commute
|
|
|
|
|
-/
|
|
|
|
|
|
2025-01-21 06:11:47 +00:00
|
|
|
|
namespace FieldSpecification
|
|
|
|
|
variable {𝓕 : FieldSpecification}
|
2025-01-20 15:17:48 +00:00
|
|
|
|
|
|
|
|
|
namespace CrAnAlgebra
|
|
|
|
|
|
|
|
|
|
open StateAlgebra
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
2025-01-21 06:11:47 +00:00
|
|
|
|
## The super commutor on the CrAnAlgebra.
|
2025-01-20 15:17:48 +00:00
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
open FieldStatistic
|
|
|
|
|
|
|
|
|
|
/-- 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
|
|
|
|
|
whilst for two fermionic operators this corresponds to the anti-commutator. -/
|
|
|
|
|
noncomputable def superCommute : 𝓕.CrAnAlgebra →ₗ[ℂ] 𝓕.CrAnAlgebra →ₗ[ℂ] 𝓕.CrAnAlgebra :=
|
|
|
|
|
Basis.constr ofCrAnListBasis ℂ fun φs =>
|
|
|
|
|
Basis.constr ofCrAnListBasis ℂ fun φs' =>
|
|
|
|
|
ofCrAnList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList (φ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
|
|
|
|
|
whilst for two fermionic operators this corresponds to the anti-commutator. -/
|
2025-01-23 15:06:11 +00:00
|
|
|
|
scoped[FieldSpecification.CrAnAlgebra] notation "[" φs "," φs' "]ₛca" => superCommute φs φs'
|
2025-01-20 15:17:48 +00:00
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## The super commutor of different types of elements
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
lemma superCommute_ofCrAnList_ofCrAnList (φs φs' : List 𝓕.CrAnStates) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnList φs, ofCrAnList φs']ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
ofCrAnList (φs ++ φs') - 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList (φs' ++ φs) := by
|
|
|
|
|
rw [← ofListBasis_eq_ofList, ← ofListBasis_eq_ofList]
|
|
|
|
|
simp only [superCommute, Basis.constr_basis]
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_ofCrAnState_ofCrAnState (φ φ' : 𝓕.CrAnStates) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnState φ, ofCrAnState φ']ₛca =
|
2025-01-22 05:51:52 +00:00
|
|
|
|
ofCrAnState φ * ofCrAnState φ' - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofCrAnState φ' * ofCrAnState φ := by
|
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton]
|
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList, ofCrAnList_append]
|
|
|
|
|
congr
|
|
|
|
|
rw [ofCrAnList_append]
|
|
|
|
|
rw [FieldStatistic.ofList_singleton, FieldStatistic.ofList_singleton, smul_mul_assoc]
|
|
|
|
|
|
2025-01-20 15:17:48 +00:00
|
|
|
|
lemma superCommute_ofCrAnList_ofStatesList (φcas : List 𝓕.CrAnStates) (φs : List 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnList φcas, ofStateList φs]ₛca = ofCrAnList φcas * ofStateList φs -
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φcas, 𝓕 |>ₛ φs) • ofStateList φs * ofCrAnList φcas := by
|
|
|
|
|
conv_lhs => rw [ofStateList_sum]
|
|
|
|
|
rw [map_sum]
|
|
|
|
|
conv_lhs =>
|
|
|
|
|
enter [2, x]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList, CrAnSection.statistics_eq_state_statistics,
|
2025-01-20 15:17:48 +00:00
|
|
|
|
ofCrAnList_append, ofCrAnList_append]
|
|
|
|
|
rw [Finset.sum_sub_distrib, ← Finset.mul_sum, ← Finset.smul_sum,
|
|
|
|
|
← Finset.sum_mul, ← ofStateList_sum]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma superCommute_ofStateList_ofStatesList (φ : List 𝓕.States) (φs : List 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofStateList φ, ofStateList φs]ₛca = ofStateList φ * ofStateList φs -
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofStateList φs * ofStateList φ := by
|
|
|
|
|
conv_lhs => rw [ofStateList_sum]
|
|
|
|
|
simp only [map_sum, LinearMap.coeFn_sum, Finset.sum_apply, instCommGroup.eq_1,
|
|
|
|
|
Algebra.smul_mul_assoc]
|
|
|
|
|
conv_lhs =>
|
|
|
|
|
enter [2, x]
|
|
|
|
|
rw [superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
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, ← ofStateList_sum]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_ofState_ofStatesList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofState φ, ofStateList φs]ₛca = ofState φ * ofStateList φs -
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofStateList φs * ofState φ := by
|
|
|
|
|
rw [← ofStateList_singleton, superCommute_ofStateList_ofStatesList, ofStateList_singleton]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_ofStateList_ofState (φs : List 𝓕.States) (φ : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofStateList φs, ofState φ]ₛca = ofStateList φs * ofState φ -
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofState φ * ofStateList φs := by
|
|
|
|
|
rw [← ofStateList_singleton, superCommute_ofStateList_ofStatesList, ofStateList_singleton]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma superCommute_anPart_crPart (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), crPart (StateAlgebra.ofState φ')]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
anPart (StateAlgebra.ofState φ) * crPart (StateAlgebra.ofState φ') -
|
2025-01-22 05:51:52 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart (StateAlgebra.ofState φ') * anPart (StateAlgebra.ofState φ) := by
|
2025-01-20 15:17:48 +00:00
|
|
|
|
match φ, φ' with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, _ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| _, States.outAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_posAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul,
|
|
|
|
|
sub_self]
|
|
|
|
|
| States.position φ, States.position φ' =>
|
|
|
|
|
simp only [anPart_position, crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, States.position φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_posAsymp, crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.position φ, States.inAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_position, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [List.singleton_append, instCommGroup.eq_1, crAnStatistics,
|
|
|
|
|
FieldStatistic.ofList_singleton, Function.comp_apply, crAnStatesToStates_prod, ←
|
|
|
|
|
ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, States.inAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_posAsymp, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_crPart_anPart (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), anPart (StateAlgebra.ofState φ')]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
crPart (StateAlgebra.ofState φ) * anPart (StateAlgebra.ofState φ') -
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
|
|
|
|
anPart (StateAlgebra.ofState φ') * crPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
match φ, φ' with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, _ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
|
|
|
|
mul_zero, sub_self]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| _, States.inAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_negAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul,
|
|
|
|
|
sub_self]
|
|
|
|
|
| States.position φ, States.position φ' =>
|
|
|
|
|
simp only [crPart_position, anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.position φ, States.outAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_position, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, States.position φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_negAsymp, anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, States.outAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_negAsymp, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_crPart_crPart (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), crPart (StateAlgebra.ofState φ')]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
crPart (StateAlgebra.ofState φ) * crPart (StateAlgebra.ofState φ') -
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
|
|
|
|
crPart (StateAlgebra.ofState φ') * crPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
match φ, φ' with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, _ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
|
|
|
|
mul_zero, sub_self]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| _, States.outAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_posAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul, sub_self]
|
|
|
|
|
| States.position φ, States.position φ' =>
|
|
|
|
|
simp only [crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.position φ, States.inAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_position, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, States.position φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_negAsymp, crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, States.inAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_anPart_anPart (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), anPart (StateAlgebra.ofState φ')]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
anPart (StateAlgebra.ofState φ) * anPart (StateAlgebra.ofState φ') -
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
|
|
|
|
anPart (StateAlgebra.ofState φ') * anPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
match φ, φ' with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ, _ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| _, States.inAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
|
|
|
|
| States.position φ, States.position φ' =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.position φ, States.outAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_position, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, States.position φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_posAsymp, anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ, States.outAsymp φ' =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp [crAnStatistics, ← ofCrAnList_append]
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_crPart_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), ofStateList φs]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
crPart (StateAlgebra.ofState φ) * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofStateList φs *
|
|
|
|
|
crPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
match φ with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [← ofCrAnList_singleton, superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
simp [crAnStatistics]
|
|
|
|
|
| States.position φ =>
|
|
|
|
|
simp only [crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [← ofCrAnList_singleton, superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
simp [crAnStatistics]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_anPart_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), ofStateList φs]ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
anPart (StateAlgebra.ofState φ) * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) •
|
|
|
|
|
ofStateList φs * anPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
match φ with
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.inAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
|
|
|
|
| States.position φ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [← ofCrAnList_singleton, superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
simp [crAnStatistics]
|
2025-01-23 10:46:50 +00:00
|
|
|
|
| States.outAsymp φ =>
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [← ofCrAnList_singleton, superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
simp [crAnStatistics]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_crPart_ofState (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), ofState φ']ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
crPart (StateAlgebra.ofState φ) * ofState φ' -
|
2025-01-22 05:51:52 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * crPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
rw [← ofStateList_singleton, superCommute_crPart_ofStateList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma superCommute_anPart_ofState (φ φ' : 𝓕.States) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), ofState φ']ₛca =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
anPart (StateAlgebra.ofState φ) * ofState φ' -
|
2025-01-22 05:51:52 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * anPart (StateAlgebra.ofState φ) := by
|
|
|
|
|
rw [← ofStateList_singleton, superCommute_anPart_ofStateList]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Mul equal superCommute
|
|
|
|
|
|
|
|
|
|
Lemmas which rewrite a multiplication of two elements of the algebra as their commuted
|
|
|
|
|
multiplication with a sign plus the super commutor.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
lemma ofCrAnList_mul_ofCrAnList_eq_superCommute (φs φs' : List 𝓕.CrAnStates) :
|
|
|
|
|
ofCrAnList φs * ofCrAnList φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofCrAnList φs' * ofCrAnList φs
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofCrAnList φs, ofCrAnList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList]
|
|
|
|
|
simp [ofCrAnList_append]
|
|
|
|
|
|
|
|
|
|
lemma ofCrAnState_mul_ofCrAnList_eq_superCommute (φ : 𝓕.CrAnStates) (φs' : List 𝓕.CrAnStates) :
|
|
|
|
|
ofCrAnState φ * ofCrAnList φs' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofCrAnList φs' * ofCrAnState φ
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofCrAnState φ, ofCrAnList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, ofCrAnList_mul_ofCrAnList_eq_superCommute]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma ofStateList_mul_ofStateList_eq_superCommute (φs φs' : List 𝓕.States) :
|
|
|
|
|
ofStateList φs * ofStateList φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofStateList φs' * ofStateList φs
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofStateList φs, ofStateList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofStateList_ofStatesList]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma ofState_mul_ofStateList_eq_superCommute (φ : 𝓕.States) (φs' : List 𝓕.States) :
|
|
|
|
|
ofState φ * ofStateList φs' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • ofStateList φs' * ofState φ
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofState φ, ofStateList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofState_ofStatesList]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma ofStateList_mul_ofState_eq_superCommute (φs : List 𝓕.States) (φ : 𝓕.States) :
|
|
|
|
|
ofStateList φs * ofState φ = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofState φ * ofStateList φs
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofStateList φs, ofState φ]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofStateList_ofState]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma crPart_mul_anPart_eq_superCommute (φ φ' : 𝓕.States) :
|
|
|
|
|
crPart (StateAlgebra.ofState φ) * anPart (StateAlgebra.ofState φ') =
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart (StateAlgebra.ofState φ') * crPart (StateAlgebra.ofState φ) +
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), anPart (StateAlgebra.ofState φ')]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_crPart_anPart]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma anPart_mul_crPart_eq_superCommute (φ φ' : 𝓕.States) :
|
|
|
|
|
anPart (StateAlgebra.ofState φ) * crPart (StateAlgebra.ofState φ') =
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
2025-01-22 05:51:52 +00:00
|
|
|
|
crPart (StateAlgebra.ofState φ') * anPart (StateAlgebra.ofState φ) +
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), crPart (StateAlgebra.ofState φ')]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_anPart_crPart]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma crPart_mul_crPart_eq_superCommute (φ φ' : 𝓕.States) :
|
|
|
|
|
crPart (StateAlgebra.ofState φ) * crPart (StateAlgebra.ofState φ') =
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart (StateAlgebra.ofState φ') * crPart (StateAlgebra.ofState φ) +
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[crPart (StateAlgebra.ofState φ), crPart (StateAlgebra.ofState φ')]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_crPart_crPart]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma anPart_mul_anPart_eq_superCommute (φ φ' : 𝓕.States) :
|
|
|
|
|
anPart (StateAlgebra.ofState φ) * anPart (StateAlgebra.ofState φ') =
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart (StateAlgebra.ofState φ') * anPart (StateAlgebra.ofState φ) +
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[anPart (StateAlgebra.ofState φ), anPart (StateAlgebra.ofState φ')]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_anPart_anPart]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
lemma ofCrAnList_mul_ofStateList_eq_superCommute (φs : List 𝓕.CrAnStates) (φs' : List 𝓕.States) :
|
|
|
|
|
ofCrAnList φs * ofStateList φs' = 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs') • ofStateList φs' * ofCrAnList φs
|
2025-01-23 15:06:11 +00:00
|
|
|
|
+ [ofCrAnList φs, ofStateList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Symmetry of the super commutor.
|
|
|
|
|
|
|
|
|
|
-/
|
2025-01-20 15:17:48 +00:00
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_ofCrAnList_ofCrAnList_symm (φs φs' : List 𝓕.CrAnStates) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnList φs, ofCrAnList φs']ₛca =
|
|
|
|
|
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnList φs', ofCrAnList φs]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList, superCommute_ofCrAnList_ofCrAnList, smul_sub]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, neg_smul, sub_neg_eq_add]
|
|
|
|
|
rw [smul_smul]
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
rhs
|
|
|
|
|
rw [exchangeSign_symm, exchangeSign_mul_self]
|
|
|
|
|
simp only [one_smul]
|
|
|
|
|
abel
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_ofCrAnState_ofCrAnState_symm (φ φ' : 𝓕.CrAnStates) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnState φ, ofCrAnState φ']ₛca =
|
|
|
|
|
(- 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ')) • [ofCrAnState φ', ofCrAnState φ]ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnState_ofCrAnState, superCommute_ofCrAnState_ofCrAnState]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
rw [smul_sub]
|
|
|
|
|
simp only [instCommGroup.eq_1, Algebra.smul_mul_assoc, neg_smul, sub_neg_eq_add]
|
|
|
|
|
rw [smul_smul]
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
rhs
|
|
|
|
|
rw [exchangeSign_symm, exchangeSign_mul_self]
|
|
|
|
|
simp only [one_smul]
|
|
|
|
|
abel
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Splitting the super commutor on lists into sums.
|
|
|
|
|
|
|
|
|
|
-/
|
2025-01-20 15:17:48 +00:00
|
|
|
|
lemma superCommute_ofCrAnList_ofCrAnList_cons (φ : 𝓕.CrAnStates) (φs φs' : List 𝓕.CrAnStates) :
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnList φs, ofCrAnList (φ :: φs')]ₛca =
|
|
|
|
|
[ofCrAnList φs, ofCrAnState φ]ₛca * ofCrAnList φs' +
|
2025-01-20 15:17:48 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ)
|
2025-01-23 15:06:11 +00:00
|
|
|
|
• ofCrAnState φ * [ofCrAnList φs, ofCrAnList φs']ₛca := by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
conv_rhs =>
|
|
|
|
|
lhs
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [← ofCrAnList_singleton, superCommute_ofCrAnList_ofCrAnList, sub_mul, ← ofCrAnList_append]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
rhs
|
|
|
|
|
rw [FieldStatistic.ofList_singleton, ofCrAnList_append, ofCrAnList_singleton, smul_mul_assoc,
|
|
|
|
|
mul_assoc, ← ofCrAnList_append]
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
rhs
|
2025-01-22 05:51:52 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList, mul_sub, smul_mul_assoc]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
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]
|
|
|
|
|
simp only [instCommGroup, map_mul, mul_comm]
|
|
|
|
|
|
|
|
|
|
lemma superCommute_ofCrAnList_ofStateList_cons (φ : 𝓕.States) (φs : List 𝓕.CrAnStates)
|
2025-01-23 15:06:11 +00:00
|
|
|
|
(φs' : List 𝓕.States) : [ofCrAnList φs, ofStateList (φ :: φs')]ₛca =
|
|
|
|
|
[ofCrAnList φs, ofState φ]ₛca * ofStateList φs' +
|
|
|
|
|
𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φ) • ofState φ * [ofCrAnList φs, ofStateList φs']ₛca := by
|
2025-01-20 15:17:48 +00:00
|
|
|
|
rw [superCommute_ofCrAnList_ofStatesList]
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
lhs
|
|
|
|
|
rw [← ofStateList_singleton, superCommute_ofCrAnList_ofStatesList, sub_mul, mul_assoc,
|
|
|
|
|
← ofStateList_append]
|
|
|
|
|
rhs
|
|
|
|
|
rw [FieldStatistic.ofList_singleton, ofStateList_singleton, smul_mul_assoc,
|
|
|
|
|
smul_mul_assoc, mul_assoc]
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
rhs
|
|
|
|
|
rw [superCommute_ofCrAnList_ofStatesList, 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 [ofStateList_cons, mul_assoc, smul_smul, FieldStatistic.ofList_cons_eq_mul]
|
|
|
|
|
simp [mul_comm]
|
|
|
|
|
|
2025-01-24 11:09:25 +00:00
|
|
|
|
/--
|
|
|
|
|
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₀ … φᶜᵃᵢ₋₁`.
|
|
|
|
|
-/
|
2025-01-20 15:17:48 +00:00
|
|
|
|
lemma superCommute_ofCrAnList_ofCrAnList_eq_sum (φs : List 𝓕.CrAnStates) :
|
2025-01-24 11:09:25 +00:00
|
|
|
|
(φs' : List 𝓕.CrAnStates) → [ofCrAnList φs, ofCrAnList φs']ₛca =
|
|
|
|
|
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
2025-01-23 15:06:11 +00:00
|
|
|
|
ofCrAnList (φs'.take n) * [ofCrAnList φs, ofCrAnState (φs'.get n)]ₛca *
|
2025-01-20 15:17:48 +00:00
|
|
|
|
ofCrAnList (φs'.drop (n + 1))
|
|
|
|
|
| [] => by
|
2025-01-22 05:51:52 +00:00
|
|
|
|
simp [← ofCrAnList_nil, superCommute_ofCrAnList_ofCrAnList]
|
2025-01-20 15:17:48 +00:00
|
|
|
|
| φ :: φs' => by
|
|
|
|
|
rw [superCommute_ofCrAnList_ofCrAnList_cons, superCommute_ofCrAnList_ofCrAnList_eq_sum φs φs']
|
|
|
|
|
conv_rhs => erw [Fin.sum_univ_succ]
|
|
|
|
|
congr 1
|
|
|
|
|
· simp
|
|
|
|
|
· simp [Finset.mul_sum, smul_smul, ofCrAnList_cons, mul_assoc,
|
|
|
|
|
FieldStatistic.ofList_cons_eq_mul, mul_comm]
|
|
|
|
|
|
2025-01-22 05:51:52 +00:00
|
|
|
|
lemma superCommute_ofCrAnList_ofStateList_eq_sum (φs : List 𝓕.CrAnStates) : (φs' : List 𝓕.States) →
|
2025-01-23 15:06:11 +00:00
|
|
|
|
[ofCrAnList φs, ofStateList φs']ₛca =
|
2025-01-24 11:09:25 +00:00
|
|
|
|
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
|
2025-01-23 15:06:11 +00:00
|
|
|
|
ofStateList (φs'.take n) * [ofCrAnList φs, ofState (φs'.get n)]ₛca *
|
2025-01-20 15:17:48 +00:00
|
|
|
|
ofStateList (φs'.drop (n + 1))
|
|
|
|
|
| [] => by
|
|
|
|
|
simp only [superCommute_ofCrAnList_ofStatesList, 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 [superCommute_ofCrAnList_ofStateList_cons, superCommute_ofCrAnList_ofStateList_eq_sum φs φs']
|
|
|
|
|
conv_rhs => erw [Fin.sum_univ_succ]
|
|
|
|
|
congr 1
|
|
|
|
|
· simp
|
|
|
|
|
· simp [Finset.mul_sum, smul_smul, ofStateList_cons, mul_assoc,
|
|
|
|
|
FieldStatistic.ofList_cons_eq_mul, mul_comm]
|
|
|
|
|
|
|
|
|
|
end CrAnAlgebra
|
|
|
|
|
|
2025-01-21 06:11:47 +00:00
|
|
|
|
end FieldSpecification
|