reactor: Rename anPart and crPart
This commit is contained in:
parent
d25eab1754
commit
f7e669910c
9 changed files with 252 additions and 241 deletions
|
@ -22,8 +22,8 @@ The main structures defined in this module are:
|
|||
* `ofCrAnState` - Maps a creation/annihilation state to the algebra
|
||||
* `ofCrAnList` - Maps a list of creation/annihilation states to the algebra
|
||||
* `ofState` - Maps a state to a sum of creation and annihilation operators
|
||||
* `crPart` - The creation part of a state in the algebra
|
||||
* `anPart` - The annihilation part of a state in the algebra
|
||||
* `crPartF` - The creation part of a state in the algebra
|
||||
* `anPartF` - The annihilation part of a state in the algebra
|
||||
* `superCommuteF` - The super commutator on the algebra
|
||||
|
||||
The key lemmas show how these operators interact, particularly focusing on the
|
||||
|
@ -113,55 +113,55 @@ lemma ofStateList_sum (φs : List 𝓕.States) :
|
|||
/-- The algebra map taking an element of the free-state algbra to
|
||||
the part of it in the creation and annihlation free algebra
|
||||
spanned by creation operators. -/
|
||||
def crPart : 𝓕.States → 𝓕.CrAnAlgebra := fun φ =>
|
||||
def crPartF : 𝓕.States → 𝓕.CrAnAlgebra := fun φ =>
|
||||
match φ with
|
||||
| States.inAsymp φ => ofCrAnState ⟨States.inAsymp φ, ()⟩
|
||||
| States.position φ => ofCrAnState ⟨States.position φ, CreateAnnihilate.create⟩
|
||||
| States.outAsymp _ => 0
|
||||
|
||||
@[simp]
|
||||
lemma crPart_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
crPart (States.inAsymp φ) = ofCrAnState ⟨States.inAsymp φ, ()⟩ := by
|
||||
simp [crPart]
|
||||
lemma crPartF_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
crPartF (States.inAsymp φ) = ofCrAnState ⟨States.inAsymp φ, ()⟩ := by
|
||||
simp [crPartF]
|
||||
|
||||
@[simp]
|
||||
lemma crPart_position (φ : 𝓕.PositionStates) :
|
||||
crPart (States.position φ) =
|
||||
lemma crPartF_position (φ : 𝓕.PositionStates) :
|
||||
crPartF (States.position φ) =
|
||||
ofCrAnState ⟨States.position φ, CreateAnnihilate.create⟩ := by
|
||||
simp [crPart]
|
||||
simp [crPartF]
|
||||
|
||||
@[simp]
|
||||
lemma crPart_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
||||
crPart (States.outAsymp φ) = 0 := by
|
||||
simp [crPart]
|
||||
lemma crPartF_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
||||
crPartF (States.outAsymp φ) = 0 := by
|
||||
simp [crPartF]
|
||||
|
||||
/-- The algebra map taking an element of the free-state algbra to
|
||||
the part of it in the creation and annihilation free algebra
|
||||
spanned by annihilation operators. -/
|
||||
def anPart : 𝓕.States → 𝓕.CrAnAlgebra := fun φ =>
|
||||
def anPartF : 𝓕.States → 𝓕.CrAnAlgebra := fun φ =>
|
||||
match φ with
|
||||
| States.inAsymp _ => 0
|
||||
| States.position φ => ofCrAnState ⟨States.position φ, CreateAnnihilate.annihilate⟩
|
||||
| States.outAsymp φ => ofCrAnState ⟨States.outAsymp φ, ()⟩
|
||||
|
||||
@[simp]
|
||||
lemma anPart_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
anPart (States.inAsymp φ) = 0 := by
|
||||
simp [anPart]
|
||||
lemma anPartF_negAsymp (φ : 𝓕.IncomingAsymptotic) :
|
||||
anPartF (States.inAsymp φ) = 0 := by
|
||||
simp [anPartF]
|
||||
|
||||
@[simp]
|
||||
lemma anPart_position (φ : 𝓕.PositionStates) :
|
||||
anPart (States.position φ) =
|
||||
lemma anPartF_position (φ : 𝓕.PositionStates) :
|
||||
anPartF (States.position φ) =
|
||||
ofCrAnState ⟨States.position φ, CreateAnnihilate.annihilate⟩ := by
|
||||
simp [anPart]
|
||||
simp [anPartF]
|
||||
|
||||
@[simp]
|
||||
lemma anPart_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
||||
anPart (States.outAsymp φ) = ofCrAnState ⟨States.outAsymp φ, ()⟩ := by
|
||||
simp [anPart]
|
||||
lemma anPartF_posAsymp (φ : 𝓕.OutgoingAsymptotic) :
|
||||
anPartF (States.outAsymp φ) = ofCrAnState ⟨States.outAsymp φ, ()⟩ := by
|
||||
simp [anPartF]
|
||||
|
||||
lemma ofState_eq_crPart_add_anPart (φ : 𝓕.States) :
|
||||
ofState φ = crPart φ + anPart φ := by
|
||||
lemma ofState_eq_crPartF_add_anPartF (φ : 𝓕.States) :
|
||||
ofState φ = crPartF φ + anPartF φ := by
|
||||
rw [ofState]
|
||||
cases φ with
|
||||
| inAsymp φ => simp [statesToCrAnType]
|
||||
|
|
|
@ -92,28 +92,28 @@ lemma normalOrderF_mul_annihilate (φ : 𝓕.CrAnStates)
|
|||
rw [← ofCrAnList_singleton, ← ofCrAnList_append, ofCrAnList_singleton,
|
||||
normalOrderF_ofCrAnList_append_annihilate φ hφ]
|
||||
|
||||
lemma normalOrderF_crPart_mul (φ : 𝓕.States) (a : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(crPart φ * a) =
|
||||
crPart φ * 𝓝ᶠ(a) := by
|
||||
lemma normalOrderF_crPartF_mul (φ : 𝓕.States) (a : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(crPartF φ * a) =
|
||||
crPartF φ * 𝓝ᶠ(a) := by
|
||||
match φ with
|
||||
| .inAsymp φ =>
|
||||
rw [crPart]
|
||||
rw [crPartF]
|
||||
exact normalOrderF_create_mul ⟨States.inAsymp φ, ()⟩ rfl a
|
||||
| .position φ =>
|
||||
rw [crPart]
|
||||
rw [crPartF]
|
||||
exact normalOrderF_create_mul _ rfl _
|
||||
| .outAsymp φ => simp
|
||||
|
||||
lemma normalOrderF_mul_anPart (φ : 𝓕.States) (a : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * anPart φ) =
|
||||
𝓝ᶠ(a) * anPart φ := by
|
||||
lemma normalOrderF_mul_anPartF (φ : 𝓕.States) (a : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * anPartF φ) =
|
||||
𝓝ᶠ(a) * anPartF φ := by
|
||||
match φ with
|
||||
| .inAsymp φ => simp
|
||||
| .position φ =>
|
||||
rw [anPart]
|
||||
rw [anPartF]
|
||||
exact normalOrderF_mul_annihilate _ rfl _
|
||||
| .outAsymp φ =>
|
||||
rw [anPart]
|
||||
rw [anPartF]
|
||||
refine normalOrderF_mul_annihilate _ rfl _
|
||||
|
||||
/-!
|
||||
|
@ -181,84 +181,84 @@ lemma normalOrderF_superCommuteF_annihilate_create (φc φa : 𝓕.CrAnStates)
|
|||
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 ..)
|
||||
|
||||
lemma normalOrderF_swap_crPart_anPart (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * (crPart φ) * (anPart φ') * b) =
|
||||
lemma normalOrderF_swap_crPartF_anPartF (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * (crPartF φ) * (anPartF φ') * b) =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
𝓝ᶠ(a * (anPart φ') * (crPart φ) * b) := by
|
||||
𝓝ᶠ(a * (anPartF φ') * (crPartF φ) * b) := by
|
||||
match φ, φ' with
|
||||
| _, .inAsymp φ' => simp
|
||||
| .outAsymp φ, _ => simp
|
||||
| .position φ, .position φ' =>
|
||||
simp only [crPart_position, anPart_position, instCommGroup.eq_1]
|
||||
simp only [crPartF_position, anPartF_position, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnStatesToStates_prod]
|
||||
rfl; rfl
|
||||
| .inAsymp φ, .outAsymp φ' =>
|
||||
simp only [crPart_negAsymp, anPart_posAsymp, instCommGroup.eq_1]
|
||||
simp only [crPartF_negAsymp, anPartF_posAsymp, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnStatesToStates_prod]
|
||||
rfl; rfl
|
||||
| .inAsymp φ, .position φ' =>
|
||||
simp only [crPart_negAsymp, anPart_position, instCommGroup.eq_1]
|
||||
simp only [crPartF_negAsymp, anPartF_position, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnStatesToStates_prod]
|
||||
rfl; rfl
|
||||
| .position φ, .outAsymp φ' =>
|
||||
simp only [crPart_position, anPart_posAsymp, instCommGroup.eq_1]
|
||||
simp only [crPartF_position, anPartF_posAsymp, instCommGroup.eq_1]
|
||||
rw [normalOrderF_swap_create_annihlate]
|
||||
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnStatesToStates_prod]
|
||||
rfl; rfl
|
||||
|
||||
/-!
|
||||
|
||||
## Normal ordering for an anPart and crPart
|
||||
## Normal ordering for an anPartF and crPartF
|
||||
|
||||
Using the results from above.
|
||||
|
||||
-/
|
||||
|
||||
lemma normalOrderF_swap_anPart_crPart (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * (anPart φ) * (crPart φ') * b) =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝ᶠ(a * (crPart φ') *
|
||||
(anPart φ) * b) := by
|
||||
simp [normalOrderF_swap_crPart_anPart, smul_smul]
|
||||
lemma normalOrderF_swap_anPartF_crPartF (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * (anPartF φ) * (crPartF φ') * b) =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝ᶠ(a * (crPartF φ') *
|
||||
(anPartF φ) * b) := by
|
||||
simp [normalOrderF_swap_crPartF_anPartF, smul_smul]
|
||||
|
||||
lemma normalOrderF_superCommuteF_crPart_anPart (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
lemma normalOrderF_superCommuteF_crPartF_anPartF (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * superCommuteF
|
||||
(crPart φ) (anPart φ') * b) = 0 := by
|
||||
(crPartF φ) (anPartF φ') * b) = 0 := by
|
||||
match φ, φ' with
|
||||
| _, .inAsymp φ' => simp
|
||||
| .outAsymp φ', _ => simp
|
||||
| .position φ, .position φ' =>
|
||||
rw [crPart_position, anPart_position]
|
||||
rw [crPartF_position, anPartF_position]
|
||||
exact normalOrderF_superCommuteF_create_annihilate _ _ rfl rfl ..
|
||||
| .inAsymp φ, .outAsymp φ' =>
|
||||
rw [crPart_negAsymp, anPart_posAsymp]
|
||||
rw [crPartF_negAsymp, anPartF_posAsymp]
|
||||
exact normalOrderF_superCommuteF_create_annihilate _ _ rfl rfl ..
|
||||
| .inAsymp φ, .position φ' =>
|
||||
rw [crPart_negAsymp, anPart_position]
|
||||
rw [crPartF_negAsymp, anPartF_position]
|
||||
exact normalOrderF_superCommuteF_create_annihilate _ _ rfl rfl ..
|
||||
| .position φ, .outAsymp φ' =>
|
||||
rw [crPart_position, anPart_posAsymp]
|
||||
rw [crPartF_position, anPartF_posAsymp]
|
||||
exact normalOrderF_superCommuteF_create_annihilate _ _ rfl rfl ..
|
||||
|
||||
lemma normalOrderF_superCommuteF_anPart_crPart (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
lemma normalOrderF_superCommuteF_anPartF_crPartF (φ φ' : 𝓕.States) (a b : CrAnAlgebra 𝓕) :
|
||||
𝓝ᶠ(a * superCommuteF
|
||||
(anPart φ) (crPart φ') * b) = 0 := by
|
||||
(anPartF φ) (crPartF φ') * b) = 0 := by
|
||||
match φ, φ' with
|
||||
| .inAsymp φ', _ => simp
|
||||
| _, .outAsymp φ' => simp
|
||||
| .position φ, .position φ' =>
|
||||
rw [anPart_position, crPart_position]
|
||||
rw [anPartF_position, crPartF_position]
|
||||
exact normalOrderF_superCommuteF_annihilate_create _ _ rfl rfl ..
|
||||
| .outAsymp φ', .inAsymp φ =>
|
||||
simp only [anPart_posAsymp, crPart_negAsymp]
|
||||
simp only [anPartF_posAsymp, crPartF_negAsymp]
|
||||
exact normalOrderF_superCommuteF_annihilate_create _ _ rfl rfl ..
|
||||
| .position φ', .inAsymp φ =>
|
||||
simp only [anPart_position, crPart_negAsymp]
|
||||
simp only [anPartF_position, crPartF_negAsymp]
|
||||
exact normalOrderF_superCommuteF_annihilate_create _ _ rfl rfl ..
|
||||
| .outAsymp φ, .position φ' =>
|
||||
simp only [anPart_posAsymp, crPart_position]
|
||||
simp only [anPartF_posAsymp, crPartF_position]
|
||||
exact normalOrderF_superCommuteF_annihilate_create _ _ rfl rfl ..
|
||||
|
||||
/-!
|
||||
|
@ -268,53 +268,53 @@ lemma normalOrderF_superCommuteF_anPart_crPart (φ φ' : 𝓕.States) (a b : CrA
|
|||
-/
|
||||
|
||||
@[simp]
|
||||
lemma normalOrderF_crPart_mul_crPart (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(crPart φ * crPart φ') =
|
||||
crPart φ * crPart φ' := by
|
||||
rw [normalOrderF_crPart_mul]
|
||||
conv_lhs => rw [← mul_one (crPart φ')]
|
||||
rw [normalOrderF_crPart_mul, normalOrderF_one]
|
||||
lemma normalOrderF_crPartF_mul_crPartF (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(crPartF φ * crPartF φ') =
|
||||
crPartF φ * crPartF φ' := by
|
||||
rw [normalOrderF_crPartF_mul]
|
||||
conv_lhs => rw [← mul_one (crPartF φ')]
|
||||
rw [normalOrderF_crPartF_mul, normalOrderF_one]
|
||||
simp
|
||||
|
||||
@[simp]
|
||||
lemma normalOrderF_anPart_mul_anPart (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(anPart φ * anPart φ') =
|
||||
anPart φ * anPart φ' := by
|
||||
rw [normalOrderF_mul_anPart]
|
||||
conv_lhs => rw [← one_mul (anPart φ)]
|
||||
rw [normalOrderF_mul_anPart, normalOrderF_one]
|
||||
lemma normalOrderF_anPartF_mul_anPartF (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(anPartF φ * anPartF φ') =
|
||||
anPartF φ * anPartF φ' := by
|
||||
rw [normalOrderF_mul_anPartF]
|
||||
conv_lhs => rw [← one_mul (anPartF φ)]
|
||||
rw [normalOrderF_mul_anPartF, normalOrderF_one]
|
||||
simp
|
||||
|
||||
@[simp]
|
||||
lemma normalOrderF_crPart_mul_anPart (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(crPart φ * anPart φ') =
|
||||
crPart φ * anPart φ' := by
|
||||
rw [normalOrderF_crPart_mul]
|
||||
conv_lhs => rw [← one_mul (anPart φ')]
|
||||
rw [normalOrderF_mul_anPart, normalOrderF_one]
|
||||
lemma normalOrderF_crPartF_mul_anPartF (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(crPartF φ * anPartF φ') =
|
||||
crPartF φ * anPartF φ' := by
|
||||
rw [normalOrderF_crPartF_mul]
|
||||
conv_lhs => rw [← one_mul (anPartF φ')]
|
||||
rw [normalOrderF_mul_anPartF, normalOrderF_one]
|
||||
simp
|
||||
|
||||
@[simp]
|
||||
lemma normalOrderF_anPart_mul_crPart (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(anPart φ * crPart φ') =
|
||||
lemma normalOrderF_anPartF_mul_crPartF (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(anPartF φ * crPartF φ') =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
(crPart φ' * anPart φ) := by
|
||||
conv_lhs => rw [← one_mul (anPart φ * crPart φ')]
|
||||
conv_lhs => rw [← mul_one (1 * (anPart φ *
|
||||
crPart φ'))]
|
||||
rw [← mul_assoc, normalOrderF_swap_anPart_crPart]
|
||||
(crPartF φ' * anPartF φ) := by
|
||||
conv_lhs => rw [← one_mul (anPartF φ * crPartF φ')]
|
||||
conv_lhs => rw [← mul_one (1 * (anPartF φ *
|
||||
crPartF φ'))]
|
||||
rw [← mul_assoc, normalOrderF_swap_anPartF_crPartF]
|
||||
simp
|
||||
|
||||
lemma normalOrderF_ofState_mul_ofState (φ φ' : 𝓕.States) :
|
||||
𝓝ᶠ(ofState φ * ofState φ') =
|
||||
crPart φ * crPart φ' +
|
||||
crPartF φ * crPartF φ' +
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
(crPart φ' * anPart φ) +
|
||||
crPart φ * anPart φ' +
|
||||
anPart φ * anPart φ' := by
|
||||
rw [ofState_eq_crPart_add_anPart, ofState_eq_crPart_add_anPart, mul_add, add_mul, add_mul]
|
||||
simp only [map_add, normalOrderF_crPart_mul_crPart, normalOrderF_anPart_mul_crPart,
|
||||
instCommGroup.eq_1, normalOrderF_crPart_mul_anPart, normalOrderF_anPart_mul_anPart]
|
||||
(crPartF φ' * anPartF φ) +
|
||||
crPartF φ * anPartF φ' +
|
||||
anPartF φ * anPartF φ' := by
|
||||
rw [ofState_eq_crPartF_add_anPartF, ofState_eq_crPartF_add_anPartF, mul_add, add_mul, add_mul]
|
||||
simp only [map_add, normalOrderF_crPartF_mul_crPartF, normalOrderF_anPartF_mul_crPartF,
|
||||
instCommGroup.eq_1, normalOrderF_crPartF_mul_anPartF, normalOrderF_anPartF_mul_anPartF]
|
||||
abel
|
||||
|
||||
/-!
|
||||
|
@ -495,12 +495,12 @@ lemma ofCrAnState_mul_normalOrderF_ofStateList_eq_superCommuteF (φ : 𝓕.CrAnS
|
|||
+ [ofCrAnState φ, 𝓝ᶠ(ofStateList φs')]ₛca := by
|
||||
simp [← ofCrAnList_singleton, ofCrAnList_mul_normalOrderF_ofStateList_eq_superCommuteF]
|
||||
|
||||
lemma anPart_mul_normalOrderF_ofStateList_eq_superCommuteF (φ : 𝓕.States)
|
||||
lemma anPartF_mul_normalOrderF_ofStateList_eq_superCommuteF (φ : 𝓕.States)
|
||||
(φs' : List 𝓕.States) :
|
||||
anPart φ * 𝓝ᶠ(ofStateList φs') =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofStateList φs' * anPart φ)
|
||||
+ [anPart φ, 𝓝ᶠ(ofStateList φs')]ₛca := by
|
||||
rw [normalOrderF_mul_anPart]
|
||||
anPartF φ * 𝓝ᶠ(ofStateList φs') =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝ᶠ(ofStateList φs' * anPartF φ)
|
||||
+ [anPartF φ, 𝓝ᶠ(ofStateList φs')]ₛca := by
|
||||
rw [normalOrderF_mul_anPartF]
|
||||
match φ with
|
||||
| .inAsymp φ => simp
|
||||
| .position φ => simp [ofCrAnState_mul_normalOrderF_ofStateList_eq_superCommuteF, crAnStatistics]
|
||||
|
|
|
@ -95,163 +95,163 @@ lemma superCommuteF_ofStateList_ofState (φs : List 𝓕.States) (φ : 𝓕.Stat
|
|||
rw [← ofStateList_singleton, superCommuteF_ofStateList_ofStatesList, ofStateList_singleton]
|
||||
simp
|
||||
|
||||
lemma superCommuteF_anPart_crPart (φ φ' : 𝓕.States) :
|
||||
[anPart φ, crPart φ']ₛca =
|
||||
anPart φ * crPart φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * anPart φ := by
|
||||
lemma superCommuteF_anPartF_crPartF (φ φ' : 𝓕.States) :
|
||||
[anPartF φ, crPartF φ']ₛca =
|
||||
anPartF φ * crPartF φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPartF φ' * anPartF φ := by
|
||||
match φ, φ' with
|
||||
| States.inAsymp φ, _ =>
|
||||
simp
|
||||
| _, States.outAsymp φ =>
|
||||
simp only [crPart_posAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul,
|
||||
simp only [crPartF_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]
|
||||
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]
|
||||
| States.outAsymp φ, States.position φ' =>
|
||||
simp only [anPart_posAsymp, crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.position φ, States.inAsymp φ' =>
|
||||
simp only [anPart_position, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_position, crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp only [List.singleton_append, instCommGroup.eq_1, crAnStatistics,
|
||||
FieldStatistic.ofList_singleton, Function.comp_apply, crAnStatesToStates_prod, ←
|
||||
ofCrAnList_append]
|
||||
| States.outAsymp φ, States.inAsymp φ' =>
|
||||
simp only [anPart_posAsymp, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
|
||||
lemma superCommuteF_crPart_anPart (φ φ' : 𝓕.States) :
|
||||
[crPart φ, anPart φ']ₛca =
|
||||
crPart φ * anPart φ' -
|
||||
lemma superCommuteF_crPartF_anPartF (φ φ' : 𝓕.States) :
|
||||
[crPartF φ, anPartF φ']ₛca =
|
||||
crPartF φ * anPartF φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
anPart φ' * crPart φ := by
|
||||
anPartF φ' * crPartF φ := by
|
||||
match φ, φ' with
|
||||
| States.outAsymp φ, _ =>
|
||||
simp only [crPart_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
||||
simp only [crPartF_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
||||
mul_zero, sub_self]
|
||||
| _, States.inAsymp φ =>
|
||||
simp only [anPart_negAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul,
|
||||
simp only [anPartF_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]
|
||||
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]
|
||||
| States.position φ, States.outAsymp φ' =>
|
||||
simp only [crPart_position, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.inAsymp φ, States.position φ' =>
|
||||
simp only [crPart_negAsymp, anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.inAsymp φ, States.outAsymp φ' =>
|
||||
simp only [crPart_negAsymp, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
|
||||
lemma superCommuteF_crPart_crPart (φ φ' : 𝓕.States) :
|
||||
[crPart φ, crPart φ']ₛca =
|
||||
crPart φ * crPart φ' -
|
||||
lemma superCommuteF_crPartF_crPartF (φ φ' : 𝓕.States) :
|
||||
[crPartF φ, crPartF φ']ₛca =
|
||||
crPartF φ * crPartF φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
crPart φ' * crPart φ := by
|
||||
crPartF φ' * crPartF φ := by
|
||||
match φ, φ' with
|
||||
| States.outAsymp φ, _ =>
|
||||
simp only [crPart_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
||||
simp only [crPartF_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
|
||||
mul_zero, sub_self]
|
||||
| _, States.outAsymp φ =>
|
||||
simp only [crPart_posAsymp, map_zero, mul_zero, instCommGroup.eq_1, smul_zero, zero_mul, sub_self]
|
||||
simp only [crPartF_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]
|
||||
simp only [crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
| States.position φ, States.inAsymp φ' =>
|
||||
simp only [crPart_position, crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.inAsymp φ, States.position φ' =>
|
||||
simp only [crPart_negAsymp, crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.inAsymp φ, States.inAsymp φ' =>
|
||||
simp only [crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
|
||||
lemma superCommuteF_anPart_anPart (φ φ' : 𝓕.States) :
|
||||
[anPart φ, anPart φ']ₛca =
|
||||
anPart φ * anPart φ' -
|
||||
lemma superCommuteF_anPartF_anPartF (φ φ' : 𝓕.States) :
|
||||
[anPartF φ, anPartF φ']ₛca =
|
||||
anPartF φ * anPartF φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
anPart φ' * anPart φ := by
|
||||
anPartF φ' * anPartF φ := by
|
||||
match φ, φ' with
|
||||
| States.inAsymp φ, _ =>
|
||||
simp
|
||||
| _, States.inAsymp φ =>
|
||||
simp
|
||||
| States.position φ, States.position φ' =>
|
||||
simp only [anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
| States.position φ, States.outAsymp φ' =>
|
||||
simp only [anPart_position, anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.outAsymp φ, States.position φ' =>
|
||||
simp only [anPart_posAsymp, anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
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]
|
||||
| States.outAsymp φ, States.outAsymp φ' =>
|
||||
simp only [anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
|
||||
simp [crAnStatistics, ← ofCrAnList_append]
|
||||
|
||||
lemma superCommuteF_crPart_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
[crPart φ, ofStateList φs]ₛca =
|
||||
crPart φ * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofStateList φs *
|
||||
crPart φ := by
|
||||
lemma superCommuteF_crPartF_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
[crPartF φ, ofStateList φs]ₛca =
|
||||
crPartF φ * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • ofStateList φs *
|
||||
crPartF φ := by
|
||||
match φ with
|
||||
| States.inAsymp φ =>
|
||||
simp only [crPart_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [crPartF_negAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofStatesList]
|
||||
simp [crAnStatistics]
|
||||
| States.position φ =>
|
||||
simp only [crPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofStatesList]
|
||||
simp [crAnStatistics]
|
||||
| States.outAsymp φ =>
|
||||
simp
|
||||
|
||||
lemma superCommuteF_anPart_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
[anPart φ, ofStateList φs]ₛca =
|
||||
anPart φ * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) •
|
||||
ofStateList φs * anPart φ := by
|
||||
lemma superCommuteF_anPartF_ofStateList (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
[anPartF φ, ofStateList φs]ₛca =
|
||||
anPartF φ * ofStateList φs - 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) •
|
||||
ofStateList φs * anPartF φ := by
|
||||
match φ with
|
||||
| States.inAsymp φ =>
|
||||
simp
|
||||
| States.position φ =>
|
||||
simp only [anPart_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofStatesList]
|
||||
simp [crAnStatistics]
|
||||
| States.outAsymp φ =>
|
||||
simp only [anPart_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1, Algebra.smul_mul_assoc]
|
||||
rw [← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofStatesList]
|
||||
simp [crAnStatistics]
|
||||
|
||||
lemma superCommuteF_crPart_ofState (φ φ' : 𝓕.States) :
|
||||
[crPart φ, ofState φ']ₛca =
|
||||
crPart φ * ofState φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * crPart φ := by
|
||||
rw [← ofStateList_singleton, superCommuteF_crPart_ofStateList]
|
||||
lemma superCommuteF_crPartF_ofState (φ φ' : 𝓕.States) :
|
||||
[crPartF φ, ofState φ']ₛca =
|
||||
crPartF φ * ofState φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * crPartF φ := by
|
||||
rw [← ofStateList_singleton, superCommuteF_crPartF_ofStateList]
|
||||
simp
|
||||
|
||||
lemma superCommuteF_anPart_ofState (φ φ' : 𝓕.States) :
|
||||
[anPart φ, ofState φ']ₛca =
|
||||
anPart φ * ofState φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * anPart φ := by
|
||||
rw [← ofStateList_singleton, superCommuteF_anPart_ofStateList]
|
||||
lemma superCommuteF_anPartF_ofState (φ φ' : 𝓕.States) :
|
||||
[anPartF φ, ofState φ']ₛca =
|
||||
anPartF φ * ofState φ' -
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • ofState φ' * anPartF φ := by
|
||||
rw [← ofStateList_singleton, superCommuteF_anPartF_ofStateList]
|
||||
simp
|
||||
|
||||
/-!
|
||||
|
@ -292,32 +292,32 @@ lemma ofStateList_mul_ofState_eq_superCommuteF (φs : List 𝓕.States) (φ :
|
|||
rw [superCommuteF_ofStateList_ofState]
|
||||
simp
|
||||
|
||||
lemma crPart_mul_anPart_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
crPart φ * anPart φ' =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * crPart φ +
|
||||
[crPart φ, anPart φ']ₛca := by
|
||||
rw [superCommuteF_crPart_anPart]
|
||||
lemma crPartF_mul_anPartF_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
crPartF φ * anPartF φ' =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPartF φ' * crPartF φ +
|
||||
[crPartF φ, anPartF φ']ₛca := by
|
||||
rw [superCommuteF_crPartF_anPartF]
|
||||
simp
|
||||
|
||||
lemma anPart_mul_crPart_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
anPart φ * crPart φ' =
|
||||
lemma anPartF_mul_crPartF_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
anPartF φ * crPartF φ' =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
crPart φ' * anPart φ +
|
||||
[anPart φ, crPart φ']ₛca := by
|
||||
rw [superCommuteF_anPart_crPart]
|
||||
crPartF φ' * anPartF φ +
|
||||
[anPartF φ, crPartF φ']ₛca := by
|
||||
rw [superCommuteF_anPartF_crPartF]
|
||||
simp
|
||||
|
||||
lemma crPart_mul_crPart_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
crPart φ * crPart φ' =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * crPart φ +
|
||||
[crPart φ, crPart φ']ₛca := by
|
||||
rw [superCommuteF_crPart_crPart]
|
||||
lemma crPartF_mul_crPartF_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
crPartF φ * crPartF φ' =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPartF φ' * crPartF φ +
|
||||
[crPartF φ, crPartF φ']ₛca := by
|
||||
rw [superCommuteF_crPartF_crPartF]
|
||||
simp
|
||||
|
||||
lemma anPart_mul_anPart_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
anPart φ * anPart φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPart φ' * anPart φ +
|
||||
[anPart φ, anPart φ']ₛca := by
|
||||
rw [superCommuteF_anPart_anPart]
|
||||
lemma anPartF_mul_anPartF_eq_superCommuteF (φ φ' : 𝓕.States) :
|
||||
anPartF φ * anPartF φ' = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • anPartF φ' * anPartF φ +
|
||||
[anPartF φ, anPartF φ']ₛca := by
|
||||
rw [superCommuteF_anPartF_anPartF]
|
||||
simp
|
||||
|
||||
lemma ofCrAnList_mul_ofStateList_eq_superCommuteF (φs : List 𝓕.CrAnStates) (φs' : List 𝓕.States) :
|
||||
|
|
|
@ -450,5 +450,16 @@ def ofCrAnFieldOpList (φs : List 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (
|
|||
|
||||
lemma ofCrAnFieldOpList_eq_ι_ofCrAnList (φs : List 𝓕.CrAnStates) :
|
||||
ofCrAnFieldOpList φs = ι (ofCrAnList φs) := rfl
|
||||
|
||||
/-- The annihilation part of a state. -/
|
||||
def anPart (φ : 𝓕.States) : 𝓕.FieldOpAlgebra := ι (anPartF φ)
|
||||
|
||||
lemma anPart_eq_ι_anPartF (φ : 𝓕.States) : anPart φ = ι (anPartF φ) := rfl
|
||||
|
||||
/-- The creation part of a state. -/
|
||||
def crPart (φ : 𝓕.States) : 𝓕.FieldOpAlgebra := ι (crPartF φ)
|
||||
|
||||
lemma crPart_eq_ι_crPartF (φ : 𝓕.States) : crPart φ = ι (crPartF φ) := rfl
|
||||
|
||||
end FieldOpAlgebra
|
||||
end FieldSpecification
|
||||
|
|
|
@ -59,17 +59,17 @@ lemma crAnF_superCommuteF_ofCrAnState_ofState_mem_center (φ : 𝓕.CrAnStates)
|
|||
intro x _
|
||||
exact 𝓞.superCommuteF_crAn_center φ ⟨ψ, x⟩
|
||||
|
||||
lemma crAnF_superCommuteF_anPart_ofState_mem_center (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [anPart φ, ofState ψ]ₛca ∈ Subalgebra.center ℂ 𝓞.A := by
|
||||
lemma crAnF_superCommuteF_anPartF_ofState_mem_center (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [anPartF φ, ofState ψ]ₛca ∈ Subalgebra.center ℂ 𝓞.A := by
|
||||
match φ with
|
||||
| States.inAsymp _ =>
|
||||
simp only [anPart_negAsymp, map_zero, LinearMap.zero_apply]
|
||||
simp only [anPartF_negAsymp, map_zero, LinearMap.zero_apply]
|
||||
exact Subalgebra.zero_mem (Subalgebra.center ℂ 𝓞.A)
|
||||
| States.position φ =>
|
||||
simp only [anPart_position]
|
||||
simp only [anPartF_position]
|
||||
exact 𝓞.crAnF_superCommuteF_ofCrAnState_ofState_mem_center _ _
|
||||
| States.outAsymp _ =>
|
||||
simp only [anPart_posAsymp]
|
||||
simp only [anPartF_posAsymp]
|
||||
exact 𝓞.crAnF_superCommuteF_ofCrAnState_ofState_mem_center _ _
|
||||
|
||||
lemma crAnF_superCommuteF_ofCrAnState_ofState_diff_grade_zero (φ : 𝓕.CrAnStates) (ψ : 𝓕.States)
|
||||
|
@ -81,18 +81,18 @@ lemma crAnF_superCommuteF_ofCrAnState_ofState_diff_grade_zero (φ : 𝓕.CrAnSta
|
|||
apply 𝓞.superCommuteF_different_statistics
|
||||
simpa [crAnStatistics] using h
|
||||
|
||||
lemma crAnF_superCommuteF_anPart_ofState_diff_grade_zero (φ ψ : 𝓕.States)
|
||||
lemma crAnF_superCommuteF_anPartF_ofState_diff_grade_zero (φ ψ : 𝓕.States)
|
||||
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) :
|
||||
𝓞.crAnF [anPart φ, ofState ψ]ₛca = 0 := by
|
||||
𝓞.crAnF [anPartF φ, ofState ψ]ₛca = 0 := by
|
||||
match φ with
|
||||
| States.inAsymp _ =>
|
||||
simp
|
||||
| States.position φ =>
|
||||
simp only [anPart_position]
|
||||
simp only [anPartF_position]
|
||||
apply 𝓞.crAnF_superCommuteF_ofCrAnState_ofState_diff_grade_zero _ _ _
|
||||
simpa [crAnStatistics] using h
|
||||
| States.outAsymp _ =>
|
||||
simp only [anPart_posAsymp]
|
||||
simp only [anPartF_posAsymp]
|
||||
apply 𝓞.crAnF_superCommuteF_ofCrAnState_ofState_diff_grade_zero _ _
|
||||
simpa [crAnStatistics] using h
|
||||
|
||||
|
@ -104,58 +104,58 @@ lemma crAnF_superCommuteF_ofState_ofState_mem_center (φ ψ : 𝓕.States) :
|
|||
intro x _
|
||||
exact crAnF_superCommuteF_ofCrAnState_ofState_mem_center 𝓞 ⟨φ, x⟩ ψ
|
||||
|
||||
lemma crAnF_superCommuteF_anPart_anPart (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [anPart φ, anPart ψ]ₛca = 0 := by
|
||||
lemma crAnF_superCommuteF_anPartF_anPartF (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [anPartF φ, anPartF ψ]ₛca = 0 := by
|
||||
match φ, ψ with
|
||||
| _, States.inAsymp _ =>
|
||||
simp
|
||||
| States.inAsymp _, _ =>
|
||||
simp
|
||||
| States.position φ, States.position ψ =>
|
||||
simp only [anPart_position]
|
||||
simp only [anPartF_position]
|
||||
rw [𝓞.superCommuteF_annihilate_annihilate]
|
||||
rfl
|
||||
rfl
|
||||
| States.position φ, States.outAsymp _ =>
|
||||
simp only [anPart_position, anPart_posAsymp]
|
||||
simp only [anPartF_position, anPartF_posAsymp]
|
||||
rw [𝓞.superCommuteF_annihilate_annihilate]
|
||||
rfl
|
||||
rfl
|
||||
| States.outAsymp _, States.outAsymp _ =>
|
||||
simp only [anPart_posAsymp]
|
||||
simp only [anPartF_posAsymp]
|
||||
rw [𝓞.superCommuteF_annihilate_annihilate]
|
||||
rfl
|
||||
rfl
|
||||
| States.outAsymp _, States.position _ =>
|
||||
simp only [anPart_posAsymp, anPart_position]
|
||||
simp only [anPartF_posAsymp, anPartF_position]
|
||||
rw [𝓞.superCommuteF_annihilate_annihilate]
|
||||
rfl
|
||||
rfl
|
||||
|
||||
lemma crAnF_superCommuteF_crPart_crPart (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [crPart φ, crPart ψ]ₛca = 0 := by
|
||||
lemma crAnF_superCommuteF_crPartF_crPartF (φ ψ : 𝓕.States) :
|
||||
𝓞.crAnF [crPartF φ, crPartF ψ]ₛca = 0 := by
|
||||
match φ, ψ with
|
||||
| _, States.outAsymp _ =>
|
||||
simp
|
||||
| States.outAsymp _, _ =>
|
||||
simp
|
||||
| States.position φ, States.position ψ =>
|
||||
simp only [crPart_position]
|
||||
simp only [crPartF_position]
|
||||
rw [𝓞.superCommuteF_create_create]
|
||||
rfl
|
||||
rfl
|
||||
| States.position φ, States.inAsymp _ =>
|
||||
simp only [crPart_position, crPart_negAsymp]
|
||||
simp only [crPartF_position, crPartF_negAsymp]
|
||||
rw [𝓞.superCommuteF_create_create]
|
||||
rfl
|
||||
rfl
|
||||
| States.inAsymp _, States.inAsymp _ =>
|
||||
simp only [crPart_negAsymp]
|
||||
simp only [crPartF_negAsymp]
|
||||
rw [𝓞.superCommuteF_create_create]
|
||||
rfl
|
||||
rfl
|
||||
| States.inAsymp _, States.position _ =>
|
||||
simp only [crPart_negAsymp, crPart_position]
|
||||
simp only [crPartF_negAsymp, crPartF_position]
|
||||
rw [𝓞.superCommuteF_create_create]
|
||||
rfl
|
||||
rfl
|
||||
|
|
|
@ -211,37 +211,37 @@ lemma crAnF_normalOrderF_ofCrAnState_ofStatesList_swap (φ : 𝓕.CrAnStates)
|
|||
rw [← ofCrAnList_singleton, ofCrAnList_mul_ofStateList_eq_superCommuteF]
|
||||
simp
|
||||
|
||||
lemma crAnF_normalOrderF_anPart_ofStatesList_swap (φ : 𝓕.States)
|
||||
lemma crAnF_normalOrderF_anPartF_ofStatesList_swap (φ : 𝓕.States)
|
||||
(φ' : List 𝓕.States) :
|
||||
𝓞.crAnF (normalOrderF (anPart φ * ofStateList φ')) =
|
||||
𝓞.crAnF (normalOrderF (anPartF φ * ofStateList φ')) =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ' * anPart φ)) := by
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ' * anPartF φ)) := by
|
||||
match φ with
|
||||
| .inAsymp φ =>
|
||||
simp
|
||||
| .position φ =>
|
||||
simp only [anPart_position, instCommGroup.eq_1]
|
||||
simp only [anPartF_position, instCommGroup.eq_1]
|
||||
rw [crAnF_normalOrderF_ofCrAnState_ofStatesList_swap]
|
||||
rfl
|
||||
| .outAsymp φ =>
|
||||
simp only [anPart_posAsymp, instCommGroup.eq_1]
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1]
|
||||
rw [crAnF_normalOrderF_ofCrAnState_ofStatesList_swap]
|
||||
rfl
|
||||
|
||||
lemma crAnF_normalOrderF_ofStatesList_anPart_swap (φ : 𝓕.States) (φ' : List 𝓕.States) :
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ' * anPart φ))
|
||||
lemma crAnF_normalOrderF_ofStatesList_anPartF_swap (φ : 𝓕.States) (φ' : List 𝓕.States) :
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ' * anPartF φ))
|
||||
= 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
𝓞.crAnF (normalOrderF (anPart φ * ofStateList φ')) := by
|
||||
rw [crAnF_normalOrderF_anPart_ofStatesList_swap]
|
||||
𝓞.crAnF (normalOrderF (anPartF φ * ofStateList φ')) := by
|
||||
rw [crAnF_normalOrderF_anPartF_ofStatesList_swap]
|
||||
simp [smul_smul, FieldStatistic.exchangeSign_mul_self]
|
||||
|
||||
lemma crAnF_normalOrderF_ofStatesList_mul_anPart_swap (φ : 𝓕.States)
|
||||
lemma crAnF_normalOrderF_ofStatesList_mul_anPartF_swap (φ : 𝓕.States)
|
||||
(φ' : List 𝓕.States) :
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ') * anPart φ) =
|
||||
𝓞.crAnF (normalOrderF (ofStateList φ') * anPartF φ) =
|
||||
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
||||
𝓞.crAnF (normalOrderF (anPart φ * ofStateList φ')) := by
|
||||
rw [← normalOrderF_mul_anPart]
|
||||
rw [crAnF_normalOrderF_ofStatesList_anPart_swap]
|
||||
𝓞.crAnF (normalOrderF (anPartF φ * ofStateList φ')) := by
|
||||
rw [← normalOrderF_mul_anPartF]
|
||||
rw [crAnF_normalOrderF_ofStatesList_anPartF_swap]
|
||||
|
||||
/-!
|
||||
|
||||
|
@ -300,25 +300,25 @@ lemma crAnF_ofCrAnState_superCommuteF_normalOrderF_ofStateList_eq_sum (φ : 𝓕
|
|||
|
||||
/--
|
||||
Within a proto-operator algebra we have that
|
||||
`[anPart φ, 𝓝ᶠ(φs)] = ∑ i, sᵢ • [anPart φ, φᵢ]ₛca * 𝓝ᶠ(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`
|
||||
`[anPartF φ, 𝓝ᶠ(φs)] = ∑ i, sᵢ • [anPartF φ, φᵢ]ₛca * 𝓝ᶠ(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`
|
||||
where `sᵢ` is the exchange sign for `φ` and `φ₀…φᵢ₋₁`.
|
||||
|
||||
The origin of this result is
|
||||
- `superCommuteF_ofCrAnList_ofCrAnList_eq_sum`
|
||||
-/
|
||||
lemma crAnF_anPart_superCommuteF_normalOrderF_ofStateList_eq_sum (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
𝓞.crAnF ([anPart φ, 𝓝ᶠ(φs)]ₛca) =
|
||||
lemma crAnF_anPartF_superCommuteF_normalOrderF_ofStateList_eq_sum (φ : 𝓕.States) (φs : List 𝓕.States) :
|
||||
𝓞.crAnF ([anPartF φ, 𝓝ᶠ(φs)]ₛca) =
|
||||
∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
|
||||
𝓞.crAnF ([anPart φ, ofState φs[n]]ₛca) * 𝓞.crAnF 𝓝ᶠ(φs.eraseIdx n) := by
|
||||
𝓞.crAnF ([anPartF φ, ofState φs[n]]ₛca) * 𝓞.crAnF 𝓝ᶠ(φs.eraseIdx n) := by
|
||||
match φ with
|
||||
| .inAsymp φ =>
|
||||
simp
|
||||
| .position φ =>
|
||||
simp only [anPart_position, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_position, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
||||
rw [crAnF_ofCrAnState_superCommuteF_normalOrderF_ofStateList_eq_sum]
|
||||
simp [crAnStatistics]
|
||||
| .outAsymp φ =>
|
||||
simp only [anPart_posAsymp, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
||||
simp only [anPartF_posAsymp, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
||||
rw [crAnF_ofCrAnState_superCommuteF_normalOrderF_ofStateList_eq_sum]
|
||||
simp [crAnStatistics]
|
||||
|
||||
|
@ -329,17 +329,17 @@ lemma crAnF_anPart_superCommuteF_normalOrderF_ofStateList_eq_sum (φ : 𝓕.Stat
|
|||
-/
|
||||
/--
|
||||
Within a proto-operator algebra we have that
|
||||
`anPart φ * 𝓝ᶠ(φ₀φ₁…φₙ) = 𝓝ᶠ((anPart φ)φ₀φ₁…φₙ) + [anpart φ, 𝓝ᶠ(φ₀φ₁…φₙ)]ₛca`.
|
||||
`anPartF φ * 𝓝ᶠ(φ₀φ₁…φₙ) = 𝓝ᶠ((anPartF φ)φ₀φ₁…φₙ) + [anpart φ, 𝓝ᶠ(φ₀φ₁…φₙ)]ₛca`.
|
||||
-/
|
||||
lemma crAnF_anPart_mul_normalOrderF_ofStatesList_eq_superCommuteF (φ : 𝓕.States)
|
||||
lemma crAnF_anPartF_mul_normalOrderF_ofStatesList_eq_superCommuteF (φ : 𝓕.States)
|
||||
(φ' : List 𝓕.States) :
|
||||
𝓞.crAnF (anPart φ * normalOrderF (ofStateList φ')) =
|
||||
𝓞.crAnF (normalOrderF (anPart φ * ofStateList φ')) +
|
||||
𝓞.crAnF ([anPart φ, normalOrderF (ofStateList φ')]ₛca) := by
|
||||
rw [anPart_mul_normalOrderF_ofStateList_eq_superCommuteF]
|
||||
𝓞.crAnF (anPartF φ * normalOrderF (ofStateList φ')) =
|
||||
𝓞.crAnF (normalOrderF (anPartF φ * ofStateList φ')) +
|
||||
𝓞.crAnF ([anPartF φ, normalOrderF (ofStateList φ')]ₛca) := by
|
||||
rw [anPartF_mul_normalOrderF_ofStateList_eq_superCommuteF]
|
||||
simp only [instCommGroup.eq_1, map_add, map_smul]
|
||||
congr
|
||||
rw [crAnF_normalOrderF_anPart_ofStatesList_swap]
|
||||
rw [crAnF_normalOrderF_anPartF_ofStatesList_swap]
|
||||
|
||||
/--
|
||||
Within a proto-operator algebra we have that
|
||||
|
@ -348,13 +348,13 @@ Within a proto-operator algebra we have that
|
|||
lemma crAnF_ofState_mul_normalOrderF_ofStatesList_eq_superCommuteF (φ : 𝓕.States)
|
||||
(φs : List 𝓕.States) : 𝓞.crAnF (ofState φ * 𝓝ᶠ(φs)) =
|
||||
𝓞.crAnF (normalOrderF (ofState φ * ofStateList φs)) +
|
||||
𝓞.crAnF ([anPart φ, 𝓝ᶠ(φs)]ₛca) := by
|
||||
conv_lhs => rw [ofState_eq_crPart_add_anPart]
|
||||
rw [add_mul, map_add, crAnF_anPart_mul_normalOrderF_ofStatesList_eq_superCommuteF, ← add_assoc,
|
||||
← normalOrderF_crPart_mul, ← map_add]
|
||||
𝓞.crAnF ([anPartF φ, 𝓝ᶠ(φs)]ₛca) := by
|
||||
conv_lhs => rw [ofState_eq_crPartF_add_anPartF]
|
||||
rw [add_mul, map_add, crAnF_anPartF_mul_normalOrderF_ofStatesList_eq_superCommuteF, ← add_assoc,
|
||||
← normalOrderF_crPartF_mul, ← map_add]
|
||||
conv_lhs =>
|
||||
lhs
|
||||
rw [← map_add, ← add_mul, ← ofState_eq_crPart_add_anPart]
|
||||
rw [← map_add, ← add_mul, ← ofState_eq_crPartF_add_anPartF]
|
||||
|
||||
/-- In the expansion of `ofState φ * normalOrderF (ofStateList φs)` the element
|
||||
of `𝓞.A` associated with contracting `φ` with the (optional) `n`th element of `φs`. -/
|
||||
|
@ -363,11 +363,11 @@ noncomputable def contractStateAtIndex (φ : 𝓕.States) (φs : List 𝓕.State
|
|||
match n with
|
||||
| none => 1
|
||||
| some n => 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
|
||||
𝓞.crAnF ([anPart φ, ofState φs[n]]ₛca)
|
||||
𝓞.crAnF ([anPartF φ, ofState φs[n]]ₛca)
|
||||
|
||||
/--
|
||||
Within a proto-operator algebra,
|
||||
`φ * N(φ₀φ₁…φₙ) = N(φφ₀φ₁…φₙ) + ∑ i, (sᵢ • [anPart φ, φᵢ]ₛ) * N(φ₀φ₁…φᵢ₋₁φᵢ₊₁…φₙ)`,
|
||||
`φ * N(φ₀φ₁…φₙ) = N(φφ₀φ₁…φₙ) + ∑ i, (sᵢ • [anPartF φ, φᵢ]ₛ) * N(φ₀φ₁…φᵢ₋₁φᵢ₊₁…φₙ)`,
|
||||
where `sₙ` is the exchange sign for `φ` and `φ₀φ₁…φᵢ₋₁`.
|
||||
-/
|
||||
lemma crAnF_ofState_mul_normalOrderF_ofStatesList_eq_sum (φ : 𝓕.States)
|
||||
|
@ -377,7 +377,7 @@ lemma crAnF_ofState_mul_normalOrderF_ofStatesList_eq_sum (φ : 𝓕.States)
|
|||
contractStateAtIndex φ φs n *
|
||||
𝓞.crAnF (normalOrderF (ofStateList (HepLean.List.optionEraseZ φs φ n))) := by
|
||||
rw [crAnF_ofState_mul_normalOrderF_ofStatesList_eq_superCommuteF]
|
||||
rw [crAnF_anPart_superCommuteF_normalOrderF_ofStateList_eq_sum]
|
||||
rw [crAnF_anPartF_superCommuteF_normalOrderF_ofStateList_eq_sum]
|
||||
simp only [instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc, contractStateAtIndex,
|
||||
Fintype.sum_option, one_mul]
|
||||
rfl
|
||||
|
|
|
@ -35,15 +35,15 @@ lemma timeContract_eq_smul (φ ψ : 𝓕.States) : 𝓞.timeContract φ ψ =
|
|||
+ (-1 : ℂ) • 𝓝ᶠ(ofState φ * ofState ψ)) := by rfl
|
||||
|
||||
lemma timeContract_of_timeOrderRel (φ ψ : 𝓕.States) (h : timeOrderRel φ ψ) :
|
||||
𝓞.timeContract φ ψ = 𝓞.crAnF ([anPart φ, ofState ψ]ₛca) := by
|
||||
𝓞.timeContract φ ψ = 𝓞.crAnF ([anPartF φ, ofState ψ]ₛca) := by
|
||||
conv_rhs =>
|
||||
rw [ofState_eq_crPart_add_anPart]
|
||||
rw [map_add, map_add, crAnF_superCommuteF_anPart_anPart, superCommuteF_anPart_crPart]
|
||||
rw [ofState_eq_crPartF_add_anPartF]
|
||||
rw [map_add, map_add, crAnF_superCommuteF_anPartF_anPartF, superCommuteF_anPartF_crPartF]
|
||||
simp only [timeContract, instCommGroup.eq_1, Algebra.smul_mul_assoc, add_zero]
|
||||
rw [timeOrderF_ofState_ofState_ordered h]
|
||||
rw [normalOrderF_ofState_mul_ofState]
|
||||
simp only [instCommGroup.eq_1]
|
||||
rw [ofState_eq_crPart_add_anPart, ofState_eq_crPart_add_anPart]
|
||||
rw [ofState_eq_crPartF_add_anPartF, ofState_eq_crPartF_add_anPartF]
|
||||
simp only [mul_add, add_mul]
|
||||
abel_nf
|
||||
|
||||
|
@ -61,11 +61,11 @@ lemma timeContract_of_not_timeOrderRel (φ ψ : 𝓕.States) (h : ¬ timeOrderRe
|
|||
lemma timeContract_mem_center (φ ψ : 𝓕.States) : 𝓞.timeContract φ ψ ∈ Subalgebra.center ℂ 𝓞.A := by
|
||||
by_cases h : timeOrderRel φ ψ
|
||||
· rw [timeContract_of_timeOrderRel _ _ _ h]
|
||||
exact 𝓞.crAnF_superCommuteF_anPart_ofState_mem_center _ _
|
||||
exact 𝓞.crAnF_superCommuteF_anPartF_ofState_mem_center _ _
|
||||
· rw [timeContract_of_not_timeOrderRel _ _ _ h]
|
||||
refine Subalgebra.smul_mem (Subalgebra.center ℂ 𝓞.A) ?_ 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ)
|
||||
rw [timeContract_of_timeOrderRel]
|
||||
exact 𝓞.crAnF_superCommuteF_anPart_ofState_mem_center _ _
|
||||
exact 𝓞.crAnF_superCommuteF_anPartF_ofState_mem_center _ _
|
||||
have h1 := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
||||
simp_all
|
||||
|
||||
|
@ -73,11 +73,11 @@ lemma timeContract_zero_of_diff_grade (φ ψ : 𝓕.States) (h : (𝓕 |>ₛ φ)
|
|||
𝓞.timeContract φ ψ = 0 := by
|
||||
by_cases h1 : timeOrderRel φ ψ
|
||||
· rw [timeContract_of_timeOrderRel _ _ _ h1]
|
||||
rw [crAnF_superCommuteF_anPart_ofState_diff_grade_zero]
|
||||
rw [crAnF_superCommuteF_anPartF_ofState_diff_grade_zero]
|
||||
exact h
|
||||
· rw [timeContract_of_not_timeOrderRel _ _ _ h1]
|
||||
rw [timeContract_of_timeOrderRel _ _ _]
|
||||
rw [crAnF_superCommuteF_anPart_ofState_diff_grade_zero]
|
||||
rw [crAnF_superCommuteF_anPartF_ofState_diff_grade_zero]
|
||||
simp only [instCommGroup.eq_1, smul_zero]
|
||||
exact h.symm
|
||||
have ht := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
||||
|
|
|
@ -88,7 +88,7 @@ lemma timeConract_insertAndContract_some_eq_mul_contractStateAtIndex_lt
|
|||
· simp only [hik, ↓reduceIte, MulMemClass.coe_mul]
|
||||
rw [𝓞.timeContract_of_timeOrderRel]
|
||||
trans (1 : ℂ) • (𝓞.crAnF ((CrAnAlgebra.superCommuteF
|
||||
(CrAnAlgebra.anPart φ)) (CrAnAlgebra.ofState φs[k.1])) *
|
||||
(CrAnAlgebra.anPartF φ)) (CrAnAlgebra.ofState φs[k.1])) *
|
||||
↑(timeContract 𝓞 φsΛ))
|
||||
· simp
|
||||
simp only [smul_smul]
|
||||
|
|
|
@ -245,14 +245,14 @@ lemma wick_term_some_eq_wick_term_optionEraseZ (φ : 𝓕.States) (φs : List
|
|||
· simp only [h1, ↓reduceIte, MulMemClass.coe_mul]
|
||||
rw [timeContract_zero_of_diff_grade]
|
||||
simp only [zero_mul, smul_zero]
|
||||
rw [crAnF_superCommuteF_anPart_ofState_diff_grade_zero]
|
||||
rw [crAnF_superCommuteF_anPartF_ofState_diff_grade_zero]
|
||||
simp only [zero_mul, smul_zero]
|
||||
exact hg
|
||||
exact hg
|
||||
· simp only [h1, ↓reduceIte, MulMemClass.coe_mul]
|
||||
rw [timeContract_zero_of_diff_grade]
|
||||
simp only [zero_mul, smul_zero]
|
||||
rw [crAnF_superCommuteF_anPart_ofState_diff_grade_zero]
|
||||
rw [crAnF_superCommuteF_anPartF_ofState_diff_grade_zero]
|
||||
simp only [zero_mul, smul_zero]
|
||||
exact hg
|
||||
exact fun a => hg (id (Eq.symm a))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue