2025-01-27 06:20:25 +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
|
|
|
|
|
-/
|
2025-02-03 12:12:36 +00:00
|
|
|
|
import HepLean.PerturbationTheory.FieldOpFreeAlgebra.NormalOrder
|
|
|
|
|
import HepLean.PerturbationTheory.FieldOpAlgebra.SuperCommute
|
2025-01-27 06:20:25 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
# Normal Ordering on Field operator algebra
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
namespace FieldSpecification
|
2025-02-03 11:05:43 +00:00
|
|
|
|
open FieldOpFreeAlgebra
|
2025-01-27 06:20:25 +00:00
|
|
|
|
open HepLean.List
|
|
|
|
|
open FieldStatistic
|
|
|
|
|
|
|
|
|
|
namespace FieldOpAlgebra
|
|
|
|
|
variable {𝓕 : FieldSpecification}
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Normal order on super-commutators.
|
|
|
|
|
|
|
|
|
|
The main result of this is
|
2025-01-30 06:00:18 +00:00
|
|
|
|
`ι_normalOrderF_superCommuteF_eq_zero_mul`
|
2025-01-27 06:20:25 +00:00
|
|
|
|
which states that applying `ι` to the normal order of something containing a super-commutator
|
|
|
|
|
is zero.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:21:11 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero
|
2025-02-03 11:28:14 +00:00
|
|
|
|
(φa φa' : 𝓕.CrAnFieldOp) (φs φs' : List 𝓕.CrAnFieldOp) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * ofCrAnListF φs') = 0 := by
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rcases CreateAnnihilate.eq_create_or_annihilate (𝓕 |>ᶜ φa) with hφa | hφa
|
|
|
|
|
<;> rcases CreateAnnihilate.eq_create_or_annihilate (𝓕 |>ᶜ φa') with hφa' | hφa'
|
2025-02-03 11:21:11 +00:00
|
|
|
|
· rw [normalOrderF_superCommuteF_ofCrAnListF_create_create_ofCrAnListF φa φa' hφa hφa' φs φs']
|
2025-01-30 05:52:50 +00:00
|
|
|
|
rw [map_smul, map_mul, map_mul, map_mul, ι_superCommuteF_of_create_create φa φa' hφa hφa']
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
2025-02-03 11:21:11 +00:00
|
|
|
|
· rw [normalOrderF_superCommuteF_create_annihilate φa φa' hφa hφa' (ofCrAnListF φs)
|
|
|
|
|
(ofCrAnListF φs')]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
2025-02-03 11:21:11 +00:00
|
|
|
|
· rw [normalOrderF_superCommuteF_annihilate_create φa' φa hφa' hφa (ofCrAnListF φs)
|
|
|
|
|
(ofCrAnListF φs')]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
2025-02-03 11:21:11 +00:00
|
|
|
|
· rw [normalOrderF_superCommuteF_ofCrAnListF_annihilate_annihilate_ofCrAnListF
|
2025-01-30 11:08:10 +00:00
|
|
|
|
φa φa' hφa hφa' φs φs']
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [map_smul, map_mul, map_mul, map_mul,
|
2025-01-30 05:52:50 +00:00
|
|
|
|
ι_superCommuteF_of_annihilate_annihilate φa φa' hφa hφa']
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:21:11 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero
|
2025-02-03 11:28:14 +00:00
|
|
|
|
(φa φa' : 𝓕.CrAnFieldOp) (φs : List 𝓕.CrAnFieldOp)
|
2025-02-03 11:42:56 +00:00
|
|
|
|
(a : 𝓕.FieldOpFreeAlgebra) :
|
|
|
|
|
ι 𝓝ᶠ(ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * a) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
have hf : ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-02-03 11:21:11 +00:00
|
|
|
|
mulLinearMap (ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca) = 0 := by
|
|
|
|
|
apply ofCrAnListFBasis.ext
|
2025-01-27 06:20:25 +00:00
|
|
|
|
intro l
|
2025-02-03 11:05:43 +00:00
|
|
|
|
simp only [FieldOpFreeAlgebra.ofListBasis_eq_ofList, LinearMap.coe_comp, Function.comp_apply,
|
2025-01-27 06:20:25 +00:00
|
|
|
|
AlgHom.toLinearMap_apply, LinearMap.zero_apply]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
exact ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero φa φa' φs l
|
2025-01-30 06:00:18 +00:00
|
|
|
|
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-02-03 11:21:11 +00:00
|
|
|
|
mulLinearMap ((ofCrAnListF φs * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca))) a = 0
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [hf]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnOpF_eq_zero_mul (φa φa' : 𝓕.CrAnFieldOp)
|
2025-02-03 11:05:43 +00:00
|
|
|
|
(a b : 𝓕.FieldOpFreeAlgebra) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b) = 0 := by
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [mul_assoc]
|
2025-01-30 06:00:18 +00:00
|
|
|
|
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ mulLinearMap.flip
|
2025-02-03 11:21:11 +00:00
|
|
|
|
([ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b)) a = 0
|
2025-01-30 06:00:18 +00:00
|
|
|
|
have hf : ι.toLinearMap ∘ₗ normalOrderF ∘ₗ mulLinearMap.flip
|
2025-02-03 11:21:11 +00:00
|
|
|
|
([ofCrAnOpF φa, ofCrAnOpF φa']ₛca * b) = 0 := by
|
|
|
|
|
apply ofCrAnListFBasis.ext
|
2025-01-27 06:20:25 +00:00
|
|
|
|
intro l
|
2025-02-03 11:05:43 +00:00
|
|
|
|
simp only [mulLinearMap, FieldOpFreeAlgebra.ofListBasis_eq_ofList, LinearMap.coe_comp,
|
2025-01-27 06:20:25 +00:00
|
|
|
|
Function.comp_apply, LinearMap.flip_apply, LinearMap.coe_mk, AddHom.coe_mk,
|
|
|
|
|
AlgHom.toLinearMap_apply, LinearMap.zero_apply]
|
|
|
|
|
rw [← mul_assoc]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
exact ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero φa φa' _ _
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [hf]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnOpF_ofCrAnListF_eq_zero_mul (φa : 𝓕.CrAnFieldOp)
|
|
|
|
|
(φs : List 𝓕.CrAnFieldOp)
|
2025-02-03 11:05:43 +00:00
|
|
|
|
(a b : 𝓕.FieldOpFreeAlgebra) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [ofCrAnOpF φa, ofCrAnListF φs]ₛca * b) = 0 := by
|
|
|
|
|
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [Finset.mul_sum, Finset.sum_mul]
|
|
|
|
|
rw [map_sum, map_sum]
|
|
|
|
|
apply Fintype.sum_eq_zero
|
|
|
|
|
intro n
|
|
|
|
|
rw [← mul_assoc, ← mul_assoc]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [mul_assoc _ _ b, ofCrAnListF_singleton]
|
|
|
|
|
rw [ι_normalOrderF_superCommuteF_ofCrAnOpF_eq_zero_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnOpF_eq_zero_mul (φa : 𝓕.CrAnFieldOp)
|
|
|
|
|
(φs : List 𝓕.CrAnFieldOp) (a b : 𝓕.FieldOpFreeAlgebra) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [ofCrAnListF φs, ofCrAnOpF φa]ₛca * b) = 0 := by
|
|
|
|
|
rw [← ofCrAnListF_singleton, superCommuteF_ofCrAnListF_ofCrAnListF_symm, ofCrAnListF_singleton]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
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]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [ι_normalOrderF_superCommuteF_ofCrAnOpF_ofCrAnListF_eq_zero_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:21:11 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero_mul
|
2025-02-03 11:28:14 +00:00
|
|
|
|
(φs φs' : List 𝓕.CrAnFieldOp) (a b : 𝓕.FieldOpFreeAlgebra) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [ofCrAnListF φs, ofCrAnListF φs']ₛca * b) = 0 := by
|
|
|
|
|
rw [superCommuteF_ofCrAnListF_ofCrAnListF_eq_sum, Finset.mul_sum, Finset.sum_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [map_sum, map_sum]
|
|
|
|
|
apply Fintype.sum_eq_zero
|
|
|
|
|
intro n
|
|
|
|
|
rw [← mul_assoc, ← mul_assoc]
|
|
|
|
|
rw [mul_assoc _ _ b]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnOpF_eq_zero_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
|
2025-02-03 11:21:11 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero_mul
|
2025-02-03 11:28:14 +00:00
|
|
|
|
(φs : List 𝓕.CrAnFieldOp)
|
2025-02-03 11:05:43 +00:00
|
|
|
|
(a b c : 𝓕.FieldOpFreeAlgebra) :
|
2025-02-03 11:21:11 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [ofCrAnListF φs, c]ₛca * b) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-02-03 11:21:11 +00:00
|
|
|
|
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnListF φs)) c = 0
|
2025-01-30 06:00:18 +00:00
|
|
|
|
have hf : (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-02-03 11:21:11 +00:00
|
|
|
|
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF (ofCrAnListF φs)) = 0 := by
|
|
|
|
|
apply ofCrAnListFBasis.ext
|
2025-01-27 06:20:25 +00:00
|
|
|
|
intro φs'
|
2025-02-03 11:42:56 +00:00
|
|
|
|
simp only [mulLinearMap, LinearMap.coe_mk, AddHom.coe_mk, ofListBasis_eq_ofList,
|
2025-01-27 06:20:25 +00:00
|
|
|
|
LinearMap.coe_comp, Function.comp_apply, LinearMap.flip_apply, AlgHom.toLinearMap_apply,
|
|
|
|
|
LinearMap.zero_apply]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_ofCrAnListF_eq_zero_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [hf]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-01-30 06:00:18 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_eq_zero_mul
|
2025-02-03 11:05:43 +00:00
|
|
|
|
(a b c d : 𝓕.FieldOpFreeAlgebra) : ι 𝓝ᶠ(a * [d, c]ₛca * b) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
change (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-01-30 05:52:50 +00:00
|
|
|
|
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF.flip c) d = 0
|
2025-01-30 06:00:18 +00:00
|
|
|
|
have hf : (ι.toLinearMap ∘ₗ normalOrderF ∘ₗ
|
2025-01-30 05:52:50 +00:00
|
|
|
|
mulLinearMap.flip b ∘ₗ mulLinearMap a ∘ₗ superCommuteF.flip c) = 0 := by
|
2025-02-03 11:21:11 +00:00
|
|
|
|
apply ofCrAnListFBasis.ext
|
2025-01-27 06:20:25 +00:00
|
|
|
|
intro φs
|
2025-02-03 11:42:56 +00:00
|
|
|
|
simp only [mulLinearMap, LinearMap.coe_mk, AddHom.coe_mk, ofListBasis_eq_ofList,
|
2025-01-27 06:20:25 +00:00
|
|
|
|
LinearMap.coe_comp, Function.comp_apply, LinearMap.flip_apply, AlgHom.toLinearMap_apply,
|
|
|
|
|
LinearMap.zero_apply]
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [ι_normalOrderF_superCommuteF_ofCrAnListF_eq_zero_mul]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [hf]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrder_superCommuteF_eq_zero_mul_right (b c d : 𝓕.FieldOpFreeAlgebra) :
|
2025-01-27 12:19:21 +00:00
|
|
|
|
ι 𝓝ᶠ([d, c]ₛca * b) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
rw [← ι_normalOrderF_superCommuteF_eq_zero_mul 1 b c d]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_eq_zero_mul_left (a c d : 𝓕.FieldOpFreeAlgebra) :
|
2025-01-27 12:19:21 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [d, c]ₛca) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
rw [← ι_normalOrderF_superCommuteF_eq_zero_mul a 1 c d]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_eq_zero_mul_mul_right (a b1 b2 c d: 𝓕.FieldOpFreeAlgebra) :
|
2025-01-27 12:19:21 +00:00
|
|
|
|
ι 𝓝ᶠ(a * [d, c]ₛca * b1 * b2) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
rw [← ι_normalOrderF_superCommuteF_eq_zero_mul a (b1 * b2) c d]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
congr 2
|
|
|
|
|
noncomm_ring
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrderF_superCommuteF_eq_zero (c d : 𝓕.FieldOpFreeAlgebra) : ι 𝓝ᶠ([d, c]ₛca) = 0 := by
|
2025-01-30 06:00:18 +00:00
|
|
|
|
rw [← ι_normalOrderF_superCommuteF_eq_zero_mul 1 1 c d]
|
2025-01-27 06:20:25 +00:00
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Defining normal order for `FiedOpAlgebra`.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrderF_zero_of_mem_ideal (a : 𝓕.FieldOpFreeAlgebra)
|
2025-01-27 12:19:21 +00:00
|
|
|
|
(h : a ∈ TwoSidedIdeal.span 𝓕.fieldOpIdealSet) : ι 𝓝ᶠ(a) = 0 := by
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [TwoSidedIdeal.mem_span_iff_mem_addSubgroup_closure] at h
|
2025-02-03 11:42:56 +00:00
|
|
|
|
let p {k : Set 𝓕.FieldOpFreeAlgebra} (a : FieldOpFreeAlgebra 𝓕)
|
|
|
|
|
(h : a ∈ AddSubgroup.closure k) := ι 𝓝ᶠ(a) = 0
|
2025-01-27 06:20:25 +00:00
|
|
|
|
change p a h
|
|
|
|
|
apply AddSubgroup.closure_induction
|
|
|
|
|
· intro x hx
|
|
|
|
|
obtain ⟨a, ha, b, hb, rfl⟩ := Set.mem_mul.mp hx
|
|
|
|
|
obtain ⟨a, ha, c, hc, rfl⟩ := ha
|
|
|
|
|
simp only [p]
|
|
|
|
|
simp only [fieldOpIdealSet, exists_prop, exists_and_left, Set.mem_setOf_eq] at hc
|
|
|
|
|
match hc with
|
|
|
|
|
| Or.inl hc =>
|
|
|
|
|
obtain ⟨φa, φa', hφa, hφa', rfl⟩ := hc
|
|
|
|
|
simp [mul_sub, sub_mul, ← mul_assoc]
|
|
|
|
|
| Or.inr (Or.inl hc) =>
|
|
|
|
|
obtain ⟨φa, φa', hφa, hφa', rfl⟩ := hc
|
|
|
|
|
simp [mul_sub, sub_mul, ← mul_assoc]
|
|
|
|
|
| Or.inr (Or.inr (Or.inl hc)) =>
|
|
|
|
|
obtain ⟨φa, φa', hφa, hφa', rfl⟩ := hc
|
|
|
|
|
simp [mul_sub, sub_mul, ← mul_assoc]
|
|
|
|
|
| Or.inr (Or.inr (Or.inr hc)) =>
|
|
|
|
|
obtain ⟨φa, φa', hφa, hφa', rfl⟩ := hc
|
|
|
|
|
simp [mul_sub, sub_mul, ← mul_assoc]
|
|
|
|
|
· simp [p]
|
|
|
|
|
· intro x y hx hy
|
|
|
|
|
simp only [map_add, p]
|
|
|
|
|
intro h1 h2
|
|
|
|
|
simp [h1, h2]
|
|
|
|
|
· intro x hx
|
|
|
|
|
simp [p]
|
|
|
|
|
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma ι_normalOrderF_eq_of_equiv (a b : 𝓕.FieldOpFreeAlgebra) (h : a ≈ b) :
|
2025-01-27 12:19:21 +00:00
|
|
|
|
ι 𝓝ᶠ(a) = ι 𝓝ᶠ(b) := by
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [equiv_iff_sub_mem_ideal] at h
|
|
|
|
|
rw [LinearMap.sub_mem_ker_iff.mp]
|
|
|
|
|
simp only [LinearMap.mem_ker, ← map_sub]
|
2025-01-30 06:00:18 +00:00
|
|
|
|
exact ι_normalOrderF_zero_of_mem_ideal (a - b) h
|
2025-01-27 06:20:25 +00:00
|
|
|
|
|
|
|
|
|
/-- Normal ordering on `FieldOpAlgebra`. -/
|
|
|
|
|
noncomputable def normalOrder : FieldOpAlgebra 𝓕 →ₗ[ℂ] FieldOpAlgebra 𝓕 where
|
2025-01-30 06:00:18 +00:00
|
|
|
|
toFun := Quotient.lift (ι.toLinearMap ∘ₗ normalOrderF) ι_normalOrderF_eq_of_equiv
|
2025-01-27 06:20:25 +00:00
|
|
|
|
map_add' x y := by
|
2025-01-29 15:33:40 +00:00
|
|
|
|
obtain ⟨x, rfl⟩ := ι_surjective x
|
|
|
|
|
obtain ⟨y, rfl⟩ := ι_surjective y
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [← map_add, ι_apply, ι_apply, ι_apply]
|
|
|
|
|
rw [Quotient.lift_mk, Quotient.lift_mk, Quotient.lift_mk]
|
|
|
|
|
simp
|
|
|
|
|
map_smul' c y := by
|
2025-01-29 15:33:40 +00:00
|
|
|
|
obtain ⟨y, rfl⟩ := ι_surjective y
|
2025-01-27 06:20:25 +00:00
|
|
|
|
rw [← map_smul, ι_apply, ι_apply]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-01-30 06:21:11 +00:00
|
|
|
|
@[inherit_doc normalOrder]
|
|
|
|
|
scoped[FieldSpecification.FieldOpAlgebra] notation "𝓝(" a ")" => normalOrder a
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Properties of normal ordering.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:05:43 +00:00
|
|
|
|
lemma normalOrder_eq_ι_normalOrderF (a : 𝓕.FieldOpFreeAlgebra) :
|
2025-01-30 06:21:11 +00:00
|
|
|
|
𝓝(ι a) = ι 𝓝ᶠ(a) := rfl
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofCrAnFieldOpList (φs : List 𝓕.CrAnFieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofCrAnFieldOpList φs) = normalOrderSign φs • ofCrAnFieldOpList (normalOrderList φs) := by
|
2025-02-03 11:21:11 +00:00
|
|
|
|
rw [ofCrAnFieldOpList, normalOrder_eq_ι_normalOrderF, normalOrderF_ofCrAnListF]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
rfl
|
|
|
|
|
|
2025-01-30 12:45:00 +00:00
|
|
|
|
@[simp]
|
|
|
|
|
lemma normalOrder_one_eq_one : normalOrder (𝓕 := 𝓕) 1 = 1 := by
|
|
|
|
|
have h1 : 1 = ofCrAnFieldOpList (𝓕 := 𝓕) [] := by simp [ofCrAnFieldOpList]
|
|
|
|
|
rw [h1]
|
|
|
|
|
rw [normalOrder_ofCrAnFieldOpList]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofCrAnFieldOpList_eq_normalOrder (φs : List 𝓕.CrAnFieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
ofCrAnFieldOpList (normalOrderList φs) = normalOrderSign φs • 𝓝(ofCrAnFieldOpList φs) := by
|
|
|
|
|
rw [normalOrder_ofCrAnFieldOpList, smul_smul, normalOrderSign, Wick.koszulSign_mul_self,
|
|
|
|
|
one_smul]
|
|
|
|
|
|
2025-01-31 16:02:02 +00:00
|
|
|
|
lemma normalOrder_normalOrder_mid (a b c : 𝓕.FieldOpAlgebra) :
|
2025-02-03 05:39:48 +00:00
|
|
|
|
𝓝(a * b * c) = 𝓝(a * 𝓝(b) * c) := by
|
2025-01-31 16:02:02 +00:00
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
obtain ⟨c, rfl⟩ := ι_surjective c
|
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [← map_mul]
|
2025-01-31 16:02:02 +00:00
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
rw [normalOrderF_normalOrderF_mid]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma normalOrder_normalOrder_left (a b : 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝(a * b) = 𝓝(𝓝(a) * b) := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [← map_mul]
|
2025-01-31 16:02:02 +00:00
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
rw [normalOrderF_normalOrderF_left]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma normalOrder_normalOrder_right (a b : 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝(a * b) = 𝓝(a * 𝓝(b)) := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [← map_mul]
|
2025-01-31 16:02:02 +00:00
|
|
|
|
rw [normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
rw [normalOrderF_normalOrderF_right]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
lemma normalOrder_normalOrder (a : 𝓕.FieldOpAlgebra) : 𝓝(𝓝(a)) = 𝓝(a) := by
|
|
|
|
|
trans 𝓝(𝓝(a) * 1)
|
|
|
|
|
· simp
|
|
|
|
|
· rw [← normalOrder_normalOrder_left]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-01-30 11:00:25 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## mul anpart and crpart
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_mul_anPart (φ : 𝓕.FieldOp) (a : 𝓕.FieldOpAlgebra) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(a * anPart φ) = 𝓝(a) * anPart φ := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
rw [anPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_mul_anPartF]
|
|
|
|
|
rfl
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma crPart_mul_normalOrder (φ : 𝓕.FieldOp) (a : 𝓕.FieldOpAlgebra) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(crPart φ * a) = crPart φ * 𝓝(a) := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
rw [crPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_crPartF_mul]
|
|
|
|
|
rfl
|
|
|
|
|
|
2025-01-30 06:21:11 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
### Normal order and super commutes
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
@[simp]
|
|
|
|
|
lemma normalOrder_superCommute_eq_zero (a b : 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝([a, b]ₛ) = 0 := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
rw [superCommute_eq_ι_superCommuteF, normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
|
|
|
|
lemma normalOrder_superCommute_left_eq_zero (a b c: 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝([a, b]ₛ * c) = 0 := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
obtain ⟨c, rfl⟩ := ι_surjective c
|
|
|
|
|
rw [superCommute_eq_ι_superCommuteF, ← map_mul, normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
|
|
|
|
lemma normalOrder_superCommute_right_eq_zero (a b c: 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝(c * [a, b]ₛ) = 0 := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
obtain ⟨c, rfl⟩ := ι_surjective c
|
|
|
|
|
rw [superCommute_eq_ι_superCommuteF, ← map_mul, normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
@[simp]
|
|
|
|
|
lemma normalOrder_superCommute_mid_eq_zero (a b c d : 𝓕.FieldOpAlgebra) :
|
|
|
|
|
𝓝(a * [c, d]ₛ * b) = 0 := by
|
|
|
|
|
obtain ⟨a, rfl⟩ := ι_surjective a
|
|
|
|
|
obtain ⟨b, rfl⟩ := ι_surjective b
|
|
|
|
|
obtain ⟨c, rfl⟩ := ι_surjective c
|
|
|
|
|
obtain ⟨d, rfl⟩ := ι_surjective d
|
|
|
|
|
rw [superCommute_eq_ι_superCommuteF, ← map_mul, ← map_mul, normalOrder_eq_ι_normalOrderF]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-01-30 11:00:25 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
### Swapping terms in a normal order.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofFieldOp_ofFieldOp_swap (φ φ' : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofFieldOp φ * ofFieldOp φ') = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝(ofFieldOp φ' * ofFieldOp φ) := by
|
|
|
|
|
rw [ofFieldOp_mul_ofFieldOp_eq_superCommute]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofCrAnFieldOp_ofCrAnFieldOpList (φ : 𝓕.CrAnFieldOp)
|
|
|
|
|
(φs : List 𝓕.CrAnFieldOp) : 𝓝(ofCrAnFieldOp φ * ofCrAnFieldOpList φs) =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • 𝓝(ofCrAnFieldOpList φs * ofCrAnFieldOp φ) := by
|
|
|
|
|
rw [← ofCrAnFieldOpList_singleton, ofCrAnFieldOpList_mul_ofCrAnFieldOpList_eq_superCommute]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofCrAnFieldOp_ofFieldOpList_swap (φ : 𝓕.CrAnFieldOp) (φ' : List 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofCrAnFieldOp φ * ofFieldOpList φ') = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') •
|
|
|
|
|
𝓝(ofFieldOpList φ' * ofCrAnFieldOp φ) := by
|
|
|
|
|
rw [← ofCrAnFieldOpList_singleton, ofCrAnFieldOpList_mul_ofFieldOpList_eq_superCommute]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_anPart_ofFieldOpList_swap (φ : 𝓕.FieldOp) (φ' : List 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(anPart φ * ofFieldOpList φ') = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝(ofFieldOpList φ' * anPart φ) := by
|
|
|
|
|
match φ with
|
|
|
|
|
| .inAsymp φ =>
|
|
|
|
|
simp
|
|
|
|
|
| .position φ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1]
|
|
|
|
|
rw [normalOrder_ofCrAnFieldOp_ofFieldOpList_swap]
|
|
|
|
|
rfl
|
|
|
|
|
| .outAsymp φ =>
|
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1]
|
|
|
|
|
rw [normalOrder_ofCrAnFieldOp_ofFieldOpList_swap]
|
|
|
|
|
rfl
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofFieldOpList_anPart_swap (φ : 𝓕.FieldOp) (φ' : List 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofFieldOpList φ' * anPart φ) = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝(anPart φ * ofFieldOpList φ') := by
|
|
|
|
|
rw [normalOrder_anPart_ofFieldOpList_swap]
|
|
|
|
|
simp [smul_smul, FieldStatistic.exchangeSign_mul_self]
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofFieldOpList_mul_anPart_swap (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofFieldOpList φs) * anPart φ = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • 𝓝(anPart φ * ofFieldOpList φs) := by
|
|
|
|
|
rw [← normalOrder_mul_anPart]
|
|
|
|
|
rw [normalOrder_ofFieldOpList_anPart_swap]
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma anPart_mul_normalOrder_ofFieldOpList_eq_superCommute (φ : 𝓕.FieldOp)
|
|
|
|
|
(φs' : List 𝓕.FieldOp) : anPart φ * 𝓝(ofFieldOpList φs') =
|
2025-01-30 11:08:10 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝(ofFieldOpList φs' * anPart φ) +
|
|
|
|
|
[anPart φ, 𝓝(ofFieldOpList φs')]ₛ := by
|
2025-01-30 11:00:25 +00:00
|
|
|
|
rw [anPart, ofFieldOpList, normalOrder_eq_ι_normalOrderF, ← map_mul]
|
2025-02-03 11:10:20 +00:00
|
|
|
|
rw [anPartF_mul_normalOrderF_ofFieldOpListF_eq_superCommuteF]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, map_add, map_smul]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Super commutators with a normal ordered term as sums
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofCrAnFieldOp_superCommute_normalOrder_ofCrAnFieldOpList_sum (φ : 𝓕.CrAnFieldOp)
|
|
|
|
|
(φs : List 𝓕.CrAnFieldOp) : [ofCrAnFieldOp φ, 𝓝(ofCrAnFieldOpList φs)]ₛ = ∑ n : Fin φs.length,
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) • [ofCrAnFieldOp φ, ofCrAnFieldOp φs[n]]ₛ
|
|
|
|
|
* 𝓝(ofCrAnFieldOpList (φs.eraseIdx n)) := by
|
|
|
|
|
rw [normalOrder_ofCrAnFieldOpList, map_smul]
|
|
|
|
|
rw [superCommute_ofCrAnFieldOp_ofCrAnFieldOpList_eq_sum, Finset.smul_sum,
|
|
|
|
|
sum_normalOrderList_length]
|
|
|
|
|
congr
|
|
|
|
|
funext n
|
2025-01-30 11:08:10 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, List.get_eq_getElem, normalOrderList_get_normalOrderEquiv,
|
|
|
|
|
normalOrderList_eraseIdx_normalOrderEquiv, Algebra.smul_mul_assoc, Fin.getElem_fin]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
rw [ofCrAnFieldOpList_eq_normalOrder, mul_smul_comm, smul_smul, smul_smul]
|
|
|
|
|
by_cases hs : (𝓕 |>ₛ φ) = (𝓕 |>ₛ φs[n])
|
|
|
|
|
· congr
|
|
|
|
|
erw [normalOrderSign_eraseIdx, ← hs]
|
|
|
|
|
trans (normalOrderSign φs * normalOrderSign φs) *
|
|
|
|
|
(𝓢(𝓕 |>ₛ (φs.get n), 𝓕 |>ₛ ((normalOrderList φs).take (normalOrderEquiv n))) *
|
|
|
|
|
𝓢(𝓕 |>ₛ (φs.get n), 𝓕 |>ₛ ((normalOrderList φs).take (normalOrderEquiv n))))
|
|
|
|
|
* 𝓢(𝓕 |>ₛ (φs.get n), 𝓕 |>ₛ (φs.take n))
|
|
|
|
|
· ring_nf
|
|
|
|
|
rw [hs]
|
|
|
|
|
rfl
|
|
|
|
|
· simp [hs]
|
|
|
|
|
· erw [superCommute_diff_statistic hs]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.CrAnFieldOp)
|
|
|
|
|
(φs : List 𝓕.FieldOp) :
|
2025-01-30 11:08:10 +00:00
|
|
|
|
[ofCrAnFieldOp φ, 𝓝(ofFieldOpList φs)]ₛ = ∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
|
|
|
|
|
[ofCrAnFieldOp φ, ofFieldOp φs[n]]ₛ * 𝓝(ofFieldOpList (φs.eraseIdx n)) := by
|
2025-01-30 11:00:25 +00:00
|
|
|
|
conv_lhs =>
|
|
|
|
|
rw [ofFieldOpList_eq_sum, map_sum, map_sum]
|
|
|
|
|
enter [2, s]
|
|
|
|
|
rw [ofCrAnFieldOp_superCommute_normalOrder_ofCrAnFieldOpList_sum, CrAnSection.sum_over_length]
|
|
|
|
|
enter [2, n]
|
|
|
|
|
rw [CrAnSection.take_statistics_eq_take_state_statistics, smul_mul_assoc]
|
|
|
|
|
rw [Finset.sum_comm]
|
|
|
|
|
refine Finset.sum_congr rfl (fun n _ => ?_)
|
|
|
|
|
simp only [instCommGroup.eq_1, Fin.coe_cast, Fin.getElem_fin,
|
|
|
|
|
CrAnSection.sum_eraseIdxEquiv n _ n.prop,
|
|
|
|
|
CrAnSection.eraseIdxEquiv_symm_getElem,
|
|
|
|
|
CrAnSection.eraseIdxEquiv_symm_eraseIdx, ← Finset.smul_sum, Algebra.smul_mul_assoc]
|
|
|
|
|
conv_lhs =>
|
|
|
|
|
enter [2, 2, n]
|
|
|
|
|
rw [← Finset.mul_sum]
|
2025-01-30 11:08:10 +00:00
|
|
|
|
rw [← Finset.sum_mul, ← map_sum, ← map_sum, ← ofFieldOp_eq_sum, ← ofFieldOpList_eq_sum]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
|
|
|
|
|
/--
|
|
|
|
|
Within a proto-operator algebra we have that
|
|
|
|
|
`[anPartF φ, 𝓝(φs)] = ∑ i, sᵢ • [anPartF φ, φᵢ]ₛ * 𝓝(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`
|
|
|
|
|
where `sᵢ` is the exchange sign for `φ` and `φ₀…φᵢ₋₁`.
|
|
|
|
|
-/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma anPart_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
[anPart φ, 𝓝(ofFieldOpList φs)]ₛ = ∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
|
2025-02-03 11:13:23 +00:00
|
|
|
|
[anPart φ, ofFieldOpF φs[n]]ₛ * 𝓝(ofFieldOpList (φs.eraseIdx n)) := by
|
2025-01-30 11:00:25 +00:00
|
|
|
|
match φ with
|
|
|
|
|
| .inAsymp φ =>
|
|
|
|
|
simp
|
|
|
|
|
| .position φ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod,
|
2025-01-30 11:00:25 +00:00
|
|
|
|
Fin.getElem_fin, Algebra.smul_mul_assoc]
|
|
|
|
|
rfl
|
|
|
|
|
| .outAsymp φ =>
|
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc]
|
|
|
|
|
rw [ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, crAnStatistics, Function.comp_apply, crAnFieldOpToFieldOp_prod,
|
2025-01-30 11:00:25 +00:00
|
|
|
|
Fin.getElem_fin, Algebra.smul_mul_assoc]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Multiplying with normal ordered terms
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
/--
|
|
|
|
|
Within a proto-operator algebra we have that
|
|
|
|
|
`anPartF φ * 𝓝(φ₀φ₁…φₙ) = 𝓝((anPart φ)φ₀φ₁…φₙ) + [anpart φ, 𝓝(φ₀φ₁…φₙ)]ₛ`.
|
|
|
|
|
-/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma anPart_mul_normalOrder_ofFieldOpList_eq_superCommute_reorder (φ : 𝓕.FieldOp)
|
|
|
|
|
(φs : List 𝓕.FieldOp) : anPart φ * 𝓝(ofFieldOpList φs) =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(anPart φ * ofFieldOpList φs) + [anPart φ, 𝓝(ofFieldOpList φs)]ₛ := by
|
|
|
|
|
rw [anPart_mul_normalOrder_ofFieldOpList_eq_superCommute]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, add_left_inj]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
rw [normalOrder_anPart_ofFieldOpList_swap]
|
|
|
|
|
|
|
|
|
|
/--
|
|
|
|
|
Within a proto-operator algebra we have that
|
|
|
|
|
`φ * 𝓝ᶠ(φ₀φ₁…φₙ) = 𝓝ᶠ(φφ₀φ₁…φₙ) + [anpart φ, 𝓝ᶠ(φ₀φ₁…φₙ)]ₛca`.
|
|
|
|
|
-/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofFieldOp_mul_normalOrder_ofFieldOpList_eq_superCommute (φ : 𝓕.FieldOp)
|
|
|
|
|
(φs : List 𝓕.FieldOp) : ofFieldOp φ * 𝓝(ofFieldOpList φs) =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(ofFieldOp φ * ofFieldOpList φs) + [anPart φ, 𝓝(ofFieldOpList φs)]ₛ := by
|
|
|
|
|
conv_lhs => rw [ofFieldOp_eq_crPart_add_anPart]
|
|
|
|
|
rw [add_mul, anPart_mul_normalOrder_ofFieldOpList_eq_superCommute_reorder, ← add_assoc,
|
|
|
|
|
← crPart_mul_normalOrder, ← map_add]
|
|
|
|
|
conv_lhs =>
|
|
|
|
|
lhs
|
|
|
|
|
rw [← add_mul, ← ofFieldOp_eq_crPart_add_anPart]
|
|
|
|
|
|
2025-02-03 11:13:23 +00:00
|
|
|
|
/-- In the expansion of `ofFieldOpF φ * normalOrderF (ofFieldOpListF φs)` the element
|
2025-01-30 11:00:25 +00:00
|
|
|
|
of `𝓞.A` associated with contracting `φ` with the (optional) `n`th element of `φs`. -/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
noncomputable def contractStateAtIndex (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
2025-01-30 11:00:25 +00:00
|
|
|
|
(n : Option (Fin φs.length)) : 𝓕.FieldOpAlgebra :=
|
|
|
|
|
match n with
|
|
|
|
|
| none => 1
|
|
|
|
|
| some n => 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) • [anPart φ, ofFieldOp φs[n]]ₛ
|
|
|
|
|
|
|
|
|
|
/--
|
|
|
|
|
Within a proto-operator algebra,
|
|
|
|
|
`φ * N(φ₀φ₁…φₙ) = N(φφ₀φ₁…φₙ) + ∑ i, (sᵢ • [anPartF φ, φᵢ]ₛ) * N(φ₀φ₁…φᵢ₋₁φᵢ₊₁…φₙ)`,
|
|
|
|
|
where `sₙ` is the exchange sign for `φ` and `φ₀φ₁…φᵢ₋₁`.
|
|
|
|
|
-/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofFieldOp_mul_normalOrder_ofFieldOpList_eq_sum (φ : 𝓕.FieldOp)
|
|
|
|
|
(φs : List 𝓕.FieldOp) : ofFieldOp φ * 𝓝(ofFieldOpList φs) =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
∑ n : Option (Fin φs.length), contractStateAtIndex φ φs n *
|
|
|
|
|
𝓝(ofFieldOpList (HepLean.List.optionEraseZ φs φ n)) := by
|
|
|
|
|
rw [ofFieldOp_mul_normalOrder_ofFieldOpList_eq_superCommute]
|
|
|
|
|
rw [anPart_superCommute_normalOrder_ofFieldOpList_sum]
|
|
|
|
|
simp only [instCommGroup.eq_1, Fin.getElem_fin, Algebra.smul_mul_assoc, contractStateAtIndex,
|
|
|
|
|
Fintype.sum_option, one_mul]
|
|
|
|
|
rfl
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## Cons vs insertIdx for a normal ordered term.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
/--
|
|
|
|
|
Within a proto-operator algebra, `N(φφ₀φ₁…φₙ) = s • N(φ₀…φₖ₋₁φφₖ…φₙ)`, where
|
|
|
|
|
`s` is the exchange sign for `φ` and `φ₀…φₖ₋₁`.
|
|
|
|
|
-/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma ofFieldOpList_normalOrder_insert (φ : 𝓕.FieldOp) (φs : List 𝓕.FieldOp)
|
2025-01-30 11:00:25 +00:00
|
|
|
|
(k : Fin φs.length.succ) : 𝓝(ofFieldOpList (φ :: φs)) =
|
|
|
|
|
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs.take k) • 𝓝(ofFieldOpList (φs.insertIdx k φ)) := by
|
|
|
|
|
have hl : φs.insertIdx k φ = φs.take k ++ [φ] ++ φs.drop k := by
|
|
|
|
|
rw [HepLean.List.insertIdx_eq_take_drop]
|
|
|
|
|
simp
|
|
|
|
|
rw [hl]
|
|
|
|
|
rw [ofFieldOpList_append, ofFieldOpList_append]
|
|
|
|
|
rw [ofFieldOpList_mul_ofFieldOpList_eq_superCommute, add_mul]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, Nat.succ_eq_add_one, ofList_singleton, Algebra.smul_mul_assoc,
|
|
|
|
|
map_add, map_smul, normalOrder_superCommute_left_eq_zero, add_zero, smul_smul,
|
2025-01-30 11:00:25 +00:00
|
|
|
|
exchangeSign_mul_self_swap, one_smul]
|
|
|
|
|
rw [← ofFieldOpList_append, ← ofFieldOpList_append]
|
|
|
|
|
simp
|
|
|
|
|
|
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
## The normal ordering of a product of two states
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_crPart_mul_crPart (φ φ' : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(crPart φ * crPart φ') = crPart φ * crPart φ' := by
|
|
|
|
|
rw [crPart, crPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_crPartF_mul_crPartF]
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_anPart_mul_anPart (φ φ' : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(anPart φ * anPart φ') = anPart φ * anPart φ' := by
|
|
|
|
|
rw [anPart, anPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_anPartF_mul_anPartF]
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_crPart_mul_anPart (φ φ' : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(crPart φ * anPart φ') = crPart φ * anPart φ' := by
|
|
|
|
|
rw [crPart, anPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_crPartF_mul_anPartF]
|
|
|
|
|
|
|
|
|
|
@[simp]
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_anPart_mul_crPart (φ φ' : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓝(anPart φ * crPart φ') = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • crPart φ' * anPart φ := by
|
|
|
|
|
rw [anPart, crPart, ← map_mul, normalOrder_eq_ι_normalOrderF, normalOrderF_anPartF_mul_crPartF]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_ofFieldOp_mul_ofFieldOp (φ φ' : 𝓕.FieldOp) : 𝓝(ofFieldOp φ * ofFieldOp φ') =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
crPart φ * crPart φ' + 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • (crPart φ' * anPart φ) +
|
|
|
|
|
crPart φ * anPart φ' + anPart φ * anPart φ' := by
|
|
|
|
|
rw [ofFieldOp, ofFieldOp, ← map_mul, normalOrder_eq_ι_normalOrderF,
|
2025-02-03 11:13:23 +00:00
|
|
|
|
normalOrderF_ofFieldOpF_mul_ofFieldOpF]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
rfl
|
|
|
|
|
|
2025-01-27 06:20:25 +00:00
|
|
|
|
end FieldOpAlgebra
|
|
|
|
|
end FieldSpecification
|