refactor: Lint

This commit is contained in:
jstoobysmith 2025-01-30 11:08:10 +00:00
parent fc20099282
commit c421746f4b
11 changed files with 63 additions and 62 deletions

View file

@ -130,6 +130,7 @@ import HepLean.PerturbationTheory.Algebras.CrAnAlgebra.TimeOrder
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.Basic
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.NormalOrder
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.SuperCommute
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.TimeContraction
import HepLean.PerturbationTheory.Algebras.FieldOpAlgebra.TimeOrder
import HepLean.PerturbationTheory.CreateAnnihilate
import HepLean.PerturbationTheory.FeynmanDiagrams.Basic

View file

@ -45,8 +45,8 @@ lemma normalOrderF_ofCrAnList (φs : List 𝓕.CrAnStates) :
lemma ofCrAnList_eq_normalOrderF (φs : List 𝓕.CrAnStates) :
ofCrAnList (normalOrderList φs) = normalOrderSign φs • 𝓝ᶠ(ofCrAnList φs) := by
rw [normalOrderF_ofCrAnList, normalOrderList, smul_smul, normalOrderSign, Wick.koszulSign_mul_self,
one_smul]
rw [normalOrderF_ofCrAnList, normalOrderList, smul_smul, normalOrderSign,
Wick.koszulSign_mul_self, one_smul]
lemma normalOrderF_one : normalOrderF (𝓕 := 𝓕) 1 = 1 := by
rw [← ofCrAnList_nil, normalOrderF_ofCrAnList, normalOrderSign_nil, normalOrderList_nil,
@ -61,7 +61,8 @@ lemma normalOrderF_one : normalOrderF (𝓕 := 𝓕) 1 = 1 := by
lemma normalOrderF_ofCrAnList_cons_create (φ : 𝓕.CrAnStates)
(hφ : 𝓕 |>ᶜ φ = CreateAnnihilate.create) (φs : List 𝓕.CrAnStates) :
𝓝ᶠ(ofCrAnList (φ :: φs)) = ofCrAnState φ * 𝓝ᶠ(ofCrAnList φs) := by
rw [normalOrderF_ofCrAnList, normalOrderSign_cons_create φ hφ, normalOrderList_cons_create φ hφ φs]
rw [normalOrderF_ofCrAnList, normalOrderSign_cons_create φ hφ,
normalOrderList_cons_create φ hφ φs]
rw [ofCrAnList_cons, normalOrderF_ofCrAnList, mul_smul_comm]
lemma normalOrderF_create_mul (φ : 𝓕.CrAnStates)

View file

@ -158,7 +158,8 @@ lemma superCommuteF_crPartF_crPartF (φ φ' : 𝓕.States) :
simp only [crPartF_posAsymp, map_zero, LinearMap.zero_apply, zero_mul, instCommGroup.eq_1,
mul_zero, sub_self]
| _, States.outAsymp φ =>
simp only [crPartF_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 [crPartF_position, instCommGroup.eq_1, Algebra.smul_mul_assoc]
rw [← ofCrAnList_singleton, ← ofCrAnList_singleton, superCommuteF_ofCrAnList_ofCrAnList]
@ -427,7 +428,8 @@ lemma superCommuteF_ofCrAnList_ofStateList_eq_sum (φs : List 𝓕.CrAnStates) :
List.get_eq_getElem, List.drop_nil, Finset.sum_empty]
simp
| φ :: φs' => by
rw [superCommuteF_ofCrAnList_ofStateList_cons, superCommuteF_ofCrAnList_ofStateList_eq_sum φs φs']
rw [superCommuteF_ofCrAnList_ofStateList_cons,
superCommuteF_ofCrAnList_ofStateList_eq_sum φs φs']
conv_rhs => erw [Fin.sum_univ_succ]
congr 1
· simp

View file

@ -121,7 +121,8 @@ lemma timeOrderF_ofStateList_singleton (φ : 𝓕.States) : 𝓣ᶠ(ofStateList
lemma timeOrderF_ofState_ofState_ordered {φ ψ : 𝓕.States} (h : timeOrderRel φ ψ) :
𝓣ᶠ(ofState φ * ofState ψ) = ofState φ * ofState ψ := by
rw [← ofStateList_singleton, ← ofStateList_singleton, ← ofStateList_append, timeOrderF_ofStateList]
rw [← ofStateList_singleton, ← ofStateList_singleton, ← ofStateList_append,
timeOrderF_ofStateList]
simp only [List.singleton_append]
rw [timeOrderSign_pair_ordered h, timeOrderList_pair_ordered h]
simp
@ -134,7 +135,8 @@ lemma timeOrderF_ofState_ofState_not_ordered {φ ψ : 𝓕.States} (h : ¬ timeO
rw [timeOrderSign_pair_not_ordered h, timeOrderList_pair_not_ordered h]
simp [← ofStateList_append]
lemma timeOrderF_ofState_ofState_not_ordered_eq_timeOrderF {φ ψ : 𝓕.States} (h : ¬ timeOrderRel φ ψ) :
lemma timeOrderF_ofState_ofState_not_ordered_eq_timeOrderF {φ ψ : 𝓕.States}
(h : ¬ timeOrderRel φ ψ) :
𝓣ᶠ(ofState φ * ofState ψ) = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ) • 𝓣ᶠ(ofState ψ * ofState φ) := by
rw [timeOrderF_ofState_ofState_not_ordered h]
rw [timeOrderF_ofState_ofState_ordered]

View file

@ -437,7 +437,7 @@ lemma ofFieldOp_eq_ι_ofState (φ : 𝓕.States) : ofFieldOp φ = ι (ofState φ
def ofFieldOpList (φs : List 𝓕.States) : 𝓕.FieldOpAlgebra := ι (ofStateList φs)
lemma ofFieldOpList_eq_ι_ofStateList (φs : List 𝓕.States) :
ofFieldOpList φs = ι (ofStateList φs) := rfl
ofFieldOpList φs = ι (ofStateList φs) := rfl
lemma ofFieldOpList_append (φs ψs : List 𝓕.States) :
ofFieldOpList (φs ++ ψs) = ofFieldOpList φs * ofFieldOpList ψs := by
@ -453,10 +453,10 @@ lemma ofFieldOpList_singleton (φ : 𝓕.States) :
def ofCrAnFieldOp (φ : 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnState φ)
lemma ofCrAnFieldOp_eq_ι_ofCrAnState (φ : 𝓕.CrAnStates) :
ofCrAnFieldOp φ = ι (ofCrAnState φ) := rfl
ofCrAnFieldOp φ = ι (ofCrAnState φ) := rfl
lemma ofFieldOp_eq_sum (φ : 𝓕.States) :
ofFieldOp φ = (∑ i : 𝓕.statesToCrAnType φ, ofCrAnFieldOp ⟨φ, i⟩) := by
ofFieldOp φ = (∑ i : 𝓕.statesToCrAnType φ, ofCrAnFieldOp ⟨φ, i⟩) := by
rw [ofFieldOp, ofState]
simp only [map_sum]
rfl
@ -465,7 +465,7 @@ lemma ofFieldOp_eq_sum (φ : 𝓕.States) :
def ofCrAnFieldOpList (φs : List 𝓕.CrAnStates) : 𝓕.FieldOpAlgebra := ι (ofCrAnList φs)
lemma ofCrAnFieldOpList_eq_ι_ofCrAnList (φs : List 𝓕.CrAnStates) :
ofCrAnFieldOpList φs = ι (ofCrAnList φs) := rfl
ofCrAnFieldOpList φs = ι (ofCrAnList φs) := rfl
lemma ofCrAnFieldOpList_append (φs ψs : List 𝓕.CrAnStates) :
ofCrAnFieldOpList (φs ++ ψs) = ofCrAnFieldOpList φs * ofCrAnFieldOpList ψs := by

View file

@ -44,7 +44,8 @@ lemma ι_normalOrderF_superCommuteF_ofCrAnList_ofCrAnList_eq_zero
· rw [normalOrderF_superCommuteF_annihilate_create φa' φa hφa' hφa (ofCrAnList φs)
(ofCrAnList φs')]
simp
· rw [normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList φa φa' hφa hφa' φs φs']
· rw [normalOrderF_superCommuteF_ofCrAnList_annihilate_annihilate_ofCrAnList
φa φa' hφa hφa' φs φs']
rw [map_smul, map_mul, map_mul, map_mul,
ι_superCommuteF_of_annihilate_annihilate φa φa' hφa hφa']
simp
@ -312,8 +313,6 @@ lemma normalOrder_superCommute_mid_eq_zero (a b c d : 𝓕.FieldOpAlgebra) :
rw [superCommute_eq_ι_superCommuteF, ← map_mul, ← map_mul, normalOrder_eq_ι_normalOrderF]
simp
/-!
### Swapping terms in a normal order.
@ -337,7 +336,7 @@ lemma normalOrder_ofCrAnFieldOp_ofFieldOpList_swap (φ : 𝓕.CrAnStates) (φ' :
rw [← ofCrAnFieldOpList_singleton, ofCrAnFieldOpList_mul_ofFieldOpList_eq_superCommute]
simp
lemma normalOrder_anPart_ofFieldOpList_swap (φ : 𝓕.States) (φ' : List 𝓕.States) :
lemma normalOrder_anPart_ofFieldOpList_swap (φ : 𝓕.States) (φ' : List 𝓕.States) :
𝓝(anPart φ * ofFieldOpList φ') = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • 𝓝(ofFieldOpList φ' * anPart φ) := by
match φ with
| .inAsymp φ =>
@ -356,16 +355,15 @@ lemma normalOrder_ofFieldOpList_anPart_swap (φ : 𝓕.States) (φ' : List 𝓕.
rw [normalOrder_anPart_ofFieldOpList_swap]
simp [smul_smul, FieldStatistic.exchangeSign_mul_self]
lemma normalOrder_ofFieldOpList_mul_anPart_swap (φ : 𝓕.States) (φs : List 𝓕.States) :
𝓝(ofFieldOpList φs) * anPart φ = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs) • 𝓝(anPart φ * ofFieldOpList φs) := by
rw [← normalOrder_mul_anPart]
rw [normalOrder_ofFieldOpList_anPart_swap]
lemma anPart_mul_normalOrder_ofFieldOpList_eq_superCommute (φ : 𝓕.States)
(φs' : List 𝓕.States) : anPart φ * 𝓝(ofFieldOpList φs') =
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝(ofFieldOpList φs' * anPart φ) + [anPart φ, 𝓝(ofFieldOpList φs')]ₛ := by
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs') • 𝓝(ofFieldOpList φs' * anPart φ) +
[anPart φ, 𝓝(ofFieldOpList φs')]ₛ := by
rw [anPart, ofFieldOpList, normalOrder_eq_ι_normalOrderF, ← map_mul]
rw [anPartF_mul_normalOrderF_ofStateList_eq_superCommuteF]
simp only [instCommGroup.eq_1, map_add, map_smul]
@ -386,7 +384,8 @@ lemma ofCrAnFieldOp_superCommute_normalOrder_ofCrAnFieldOpList_sum (φ : 𝓕.Cr
sum_normalOrderList_length]
congr
funext n
simp
simp only [instCommGroup.eq_1, List.get_eq_getElem, normalOrderList_get_normalOrderEquiv,
normalOrderList_eraseIdx_normalOrderEquiv, Algebra.smul_mul_assoc, Fin.getElem_fin]
rw [ofCrAnFieldOpList_eq_normalOrder, mul_smul_comm, smul_smul, smul_smul]
by_cases hs : (𝓕 |>ₛ φ) = (𝓕 |>ₛ φs[n])
· congr
@ -402,9 +401,10 @@ lemma ofCrAnFieldOp_superCommute_normalOrder_ofCrAnFieldOpList_sum (φ : 𝓕.Cr
· erw [superCommute_diff_statistic hs]
simp
lemma ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.CrAnStates) (φs : List 𝓕.States) :
[ofCrAnFieldOp φ, 𝓝(ofFieldOpList φs)]ₛ = ∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
[ofCrAnFieldOp φ, ofFieldOp φs[n]]ₛ * 𝓝(ofFieldOpList (φs.eraseIdx n)) := by
lemma ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.CrAnStates)
(φs : List 𝓕.States) :
[ofCrAnFieldOp φ, 𝓝(ofFieldOpList φs)]ₛ = ∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
[ofCrAnFieldOp φ, ofFieldOp φs[n]]ₛ * 𝓝(ofFieldOpList (φs.eraseIdx n)) := by
conv_lhs =>
rw [ofFieldOpList_eq_sum, map_sum, map_sum]
enter [2, s]
@ -420,14 +420,14 @@ lemma ofCrAnFieldOp_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.CrAnSt
conv_lhs =>
enter [2, 2, n]
rw [← Finset.mul_sum]
rw [← Finset.sum_mul, ← map_sum, ← map_sum, ← ofFieldOp_eq_sum, ← ofFieldOpList_eq_sum]
rw [← Finset.sum_mul, ← map_sum, ← map_sum, ← ofFieldOp_eq_sum, ← ofFieldOpList_eq_sum]
/--
Within a proto-operator algebra we have that
`[anPartF φ, 𝓝(φs)] = ∑ i, sᵢ • [anPartF φ, φᵢ]ₛ * 𝓝(φ₀…φᵢ₋₁φᵢ₊₁…φₙ)`
where `sᵢ` is the exchange sign for `φ` and `φ₀…φᵢ₋₁`.
-/
lemma anPart_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.States) (φs : List 𝓕.States) :
lemma anPart_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.States) (φs : List 𝓕.States) :
[anPart φ, 𝓝(ofFieldOpList φs)]ₛ = ∑ n : Fin φs.length, 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ (φs.take n)) •
[anPart φ, ofState φs[n]]ₛ * 𝓝(ofFieldOpList (φs.eraseIdx n)) := by
match φ with
@ -446,7 +446,6 @@ lemma anPart_superCommute_normalOrder_ofFieldOpList_sum (φ : 𝓕.States) (φs
Fin.getElem_fin, Algebra.smul_mul_assoc]
rfl
/-!
## Multiplying with normal ordered terms
@ -460,7 +459,7 @@ lemma anPart_mul_normalOrder_ofFieldOpList_eq_superCommute_reorder (φ : 𝓕.St
(φs : List 𝓕.States) : anPart φ * 𝓝(ofFieldOpList φs) =
𝓝(anPart φ * ofFieldOpList φs) + [anPart φ, 𝓝(ofFieldOpList φs)]ₛ := by
rw [anPart_mul_normalOrder_ofFieldOpList_eq_superCommute]
simp [instCommGroup.eq_1, map_add, map_smul]
simp [instCommGroup.eq_1, map_add, map_smul]
rw [normalOrder_anPart_ofFieldOpList_swap]
/--
@ -519,13 +518,12 @@ lemma ofFieldOpList_normalOrder_insert (φ : 𝓕.States) (φs : List 𝓕.State
rw [hl]
rw [ofFieldOpList_append, ofFieldOpList_append]
rw [ofFieldOpList_mul_ofFieldOpList_eq_superCommute, add_mul]
simp [instCommGroup.eq_1, Nat.succ_eq_add_one, ofList_singleton, Algebra.smul_mul_assoc,
map_add, map_smul, add_zero, smul_smul,
simp [instCommGroup.eq_1, Nat.succ_eq_add_one, ofList_singleton, Algebra.smul_mul_assoc,
map_add, map_smul, add_zero, smul_smul,
exchangeSign_mul_self_swap, one_smul]
rw [← ofFieldOpList_append, ← ofFieldOpList_append]
simp
/-!
## The normal ordering of a product of two states
@ -557,7 +555,7 @@ lemma normalOrder_ofFieldOp_mul_ofFieldOp (φ φ' : 𝓕.States) : 𝓝(ofFieldO
crPart φ * crPart φ' + 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φ') • (crPart φ' * anPart φ) +
crPart φ * anPart φ' + anPart φ * anPart φ' := by
rw [ofFieldOp, ofFieldOp, ← map_mul, normalOrder_eq_ι_normalOrderF,
normalOrderF_ofState_mul_ofState]
normalOrderF_ofState_mul_ofState]
rfl
end FieldOpAlgebra

View file

@ -129,7 +129,6 @@ lemma superCommute_eq_ι_superCommuteF (a b : 𝓕.CrAnAlgebra) :
-/
lemma superCommute_create_create {φ φ' : 𝓕.CrAnStates}
(h : 𝓕 |>ᶜ φ = .create) (h' : 𝓕 |>ᶜ φ' = .create) :
[ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = 0 := by
@ -147,7 +146,6 @@ lemma superCommute_diff_statistic {φ φ' : 𝓕.CrAnStates} (h : (𝓕 |>ₛ φ
rw [ofCrAnFieldOp, ofCrAnFieldOp]
rw [superCommute_eq_ι_superCommuteF, ι_superCommuteF_of_diff_statistic h]
lemma superCommute_ofCrAnFieldOp_ofFieldOp_diff_stat_zero (φ : 𝓕.CrAnStates) (ψ : 𝓕.States)
(h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) : [ofCrAnFieldOp φ, ofFieldOp ψ]ₛ = 0 := by
rw [ofFieldOp_eq_sum, map_sum]
@ -175,8 +173,9 @@ lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center (φ φ' : 𝓕.CrAnSta
rw [ofCrAnFieldOp, ofCrAnFieldOp, superCommute_eq_ι_superCommuteF]
exact ι_superCommuteF_ofCrAnState_ofCrAnState_mem_center φ φ'
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute (φ φ' : 𝓕.CrAnStates) (a : FieldOpAlgebra 𝓕) :
a * [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ * a := by
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute (φ φ' : 𝓕.CrAnStates)
(a : FieldOpAlgebra 𝓕) :
a * [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ = [ofCrAnFieldOp φ, ofCrAnFieldOp φ']ₛ * a := by
have h1 := superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center φ φ'
rw [@Subalgebra.mem_center_iff] at h1
exact h1 a
@ -184,7 +183,7 @@ lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute (φ φ' : 𝓕.CrAnStates
lemma superCommute_ofCrAnFieldOp_ofFieldOp_mem_center (φ : 𝓕.CrAnStates) (φ' : 𝓕.States) :
[ofCrAnFieldOp φ, ofFieldOp φ']ₛ ∈ Subalgebra.center (FieldOpAlgebra 𝓕) := by
rw [ofFieldOp_eq_sum]
simp
simp only [map_sum]
refine Subalgebra.sum_mem (Subalgebra.center 𝓕.FieldOpAlgebra) ?_
intro x hx
exact superCommute_ofCrAnFieldOp_ofCrAnFieldOp_mem_center φ ⟨φ', x⟩
@ -196,7 +195,7 @@ lemma superCommute_ofCrAnFieldOp_ofFieldOp_commute (φ : 𝓕.CrAnStates) (φ' :
rw [@Subalgebra.mem_center_iff] at h1
exact h1 a
lemma superCommute_anPart_ofFieldOp_mem_center (φ φ' : 𝓕.States) :
lemma superCommute_anPart_ofFieldOp_mem_center (φ φ' : 𝓕.States) :
[anPart φ, ofFieldOp φ']ₛ ∈ Subalgebra.center (FieldOpAlgebra 𝓕) := by
match φ with
| States.inAsymp _ =>
@ -354,7 +353,6 @@ lemma superCommute_anPart_ofFieldOp (φ φ' : 𝓕.States) :
rw [superCommute_eq_ι_superCommuteF, superCommuteF_anPartF_ofState]
rfl
/-!
## Mul equal superCommute
@ -447,7 +445,7 @@ lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_symm (φs φs' : List
[ofCrAnFieldOpList φs, ofCrAnFieldOpList φs']ₛ =
(- 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs')) • [ofCrAnFieldOpList φs', ofCrAnFieldOpList φs]ₛ := by
rw [ofCrAnFieldOpList, ofCrAnFieldOpList, superCommute_eq_ι_superCommuteF,
superCommuteF_ofCrAnList_ofCrAnList_symm]
superCommuteF_ofCrAnList_ofCrAnList_symm]
rfl
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOp_symm (φ φ' : 𝓕.CrAnStates) :
@ -474,22 +472,21 @@ lemma superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_eq_sum (φs φs' : List
rw [map_sum]
rfl
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOpList_eq_sum (φ : 𝓕.CrAnStates) (φs' : List 𝓕.CrAnStates) :
[ofCrAnFieldOp φ, ofCrAnFieldOpList φs']ₛ =
lemma superCommute_ofCrAnFieldOp_ofCrAnFieldOpList_eq_sum (φ : 𝓕.CrAnStates)
(φs' : List 𝓕.CrAnStates) : [ofCrAnFieldOp φ, ofCrAnFieldOpList φs']ₛ =
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ φs'.take n) •
[ofCrAnFieldOp φ, ofCrAnFieldOp (φs'.get n)]ₛ * ofCrAnFieldOpList (φs'.eraseIdx n) := by
conv_lhs =>
rw [← ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOpList_ofCrAnFieldOpList_eq_sum]
congr
funext n
simp
simp only [instCommGroup.eq_1, ofList_singleton, List.get_eq_getElem, Algebra.smul_mul_assoc]
congr 1
rw [ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOp_ofCrAnFieldOp_commute]
rw [mul_assoc, ← ofCrAnFieldOpList_append]
congr
exact Eq.symm (List.eraseIdx_eq_take_drop_succ φs' ↑n)
lemma superCommute_ofCrAnFieldOpList_ofFieldOpList_eq_sum (φs : List 𝓕.CrAnStates)
(φs' : List 𝓕.States) : [ofCrAnFieldOpList φs, ofFieldOpList φs']ₛ =
∑ (n : Fin φs'.length), 𝓢(𝓕 |>ₛ φs, 𝓕 |>ₛ φs'.take n) •
@ -509,7 +506,7 @@ lemma superCommute_ofCrAnFieldOp_ofFieldOpList_eq_sum (φ : 𝓕.CrAnStates) (φ
rw [← ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOpList_ofFieldOpList_eq_sum]
congr
funext n
simp
simp only [instCommGroup.eq_1, ofList_singleton, List.get_eq_getElem, Algebra.smul_mul_assoc]
congr 1
rw [ofCrAnFieldOpList_singleton, superCommute_ofCrAnFieldOp_ofFieldOp_commute]
rw [mul_assoc, ← ofFieldOpList_append]

View file

@ -36,7 +36,7 @@ lemma timeContract_of_timeOrderRel (φ ψ : 𝓕.States) (h : timeOrderRel φ ψ
timeContract φ ψ = [anPart φ, ofFieldOp ψ]ₛ := by
conv_rhs =>
rw [ofFieldOp_eq_crPart_add_anPart]
rw [map_add, superCommute_anPart_anPart, superCommute_anPart_crPart]
rw [map_add, superCommute_anPart_anPart, superCommute_anPart_crPart]
simp only [timeContract, instCommGroup.eq_1, Algebra.smul_mul_assoc, add_zero]
rw [timeOrder_ofFieldOp_ofFieldOp_ordered h]
rw [normalOrder_ofFieldOp_mul_ofFieldOp]

View file

@ -404,7 +404,8 @@ lemma timeOrder_ofFieldOp_ofFieldOp_not_ordered {φ ψ : 𝓕.States} (h : ¬ ti
timeOrderF_ofState_ofState_not_ordered h]
simp
lemma timeOrder_ofFieldOp_ofFieldOp_not_ordered_eq_timeOrder {φ ψ : 𝓕.States} (h : ¬ timeOrderRel φ ψ) :
lemma timeOrder_ofFieldOp_ofFieldOp_not_ordered_eq_timeOrder {φ ψ : 𝓕.States}
(h : ¬ timeOrderRel φ ψ) :
𝓣(ofFieldOp φ * ofFieldOp ψ) = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ) • 𝓣(ofFieldOp ψ * ofFieldOp φ) := by
rw [ofFieldOp, ofFieldOp, ← map_mul, timeOrder_eq_ι_timeOrderF,
timeOrderF_ofState_ofState_not_ordered_eq_timeOrderF h]
@ -420,7 +421,6 @@ lemma timeOrder_ofFieldOpList_singleton (φ : 𝓕.States) :
𝓣(ofFieldOpList [φ]) = ofFieldOpList [φ] := by
rw [ofFieldOpList, timeOrder_eq_ι_timeOrderF, timeOrderF_ofStateList_singleton]
lemma timeOrder_eq_maxTimeField_mul_finset (φ : 𝓕.States) (φs : List 𝓕.States) :
𝓣(ofFieldOpList (φ :: φs)) = 𝓢(𝓕 |>ₛ maxTimeField φ φs, 𝓕 |>ₛ ⟨(eraseMaxTimeField φ φs).get,
(Finset.filter (fun x =>

View file

@ -37,7 +37,7 @@ and `(φsΛ ↩Λ φ i none)` has the 'same' contracted pairs as `φsΛ`. -/
lemma timeContract_insertAndContract_none
(φ : 𝓕.States) (φs : List 𝓕.States)
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) :
(φsΛ ↩Λ φ i none).timeContract = φsΛ.timeContract := by
(φsΛ ↩Λ φ i none).timeContract = φsΛ.timeContract := by
rw [timeContract, insertAndContract_none_prod_contractions]
congr
ext a
@ -57,7 +57,8 @@ lemma timeConract_insertAndContract_some
(φsΛ ↩Λ φ i (some j)).timeContract =
(if i < i.succAbove j then
⟨FieldOpAlgebra.timeContract φ φs[j.1], timeContract_mem_center _ _⟩
else ⟨FieldOpAlgebra.timeContract φs[j.1] φ, timeContract_mem_center _ _⟩) * φsΛ.timeContract := by
else ⟨FieldOpAlgebra.timeContract φs[j.1] φ, timeContract_mem_center _ _⟩) *
φsΛ.timeContract := by
rw [timeContract, insertAndContract_some_prod_contractions]
congr 1
· simp only [Nat.succ_eq_add_one, insertAndContract_fstFieldOfContract_some_incl, finCongr_apply,
@ -75,10 +76,10 @@ lemma timeConract_insertAndContract_some_eq_mul_contractStateAtIndex_lt
(φ : 𝓕.States) (φs : List 𝓕.States)
(φsΛ : WickContraction φs.length) (i : Fin φs.length.succ) (k : φsΛ.uncontracted)
(ht : 𝓕.timeOrderRel φ φs[k.1]) (hik : i < i.succAbove k) :
(φsΛ ↩Λ φ i (some k)).timeContract =
(φsΛ ↩Λ φ i (some k)).timeContract =
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ⟨φs.get, (φsΛ.uncontracted.filter (fun x => x < k))⟩)
• (contractStateAtIndex φ [φsΛ]ᵘᶜ ((uncontractedStatesEquiv φs φsΛ) (some k)) *
φsΛ.timeContract ) := by
φsΛ.timeContract) := by
rw [timeConract_insertAndContract_some]
simp only [Nat.succ_eq_add_one, Fin.getElem_fin, ite_mul, instCommGroup.eq_1,
contractStateAtIndex, uncontractedStatesEquiv, Equiv.optionCongr_apply,
@ -87,7 +88,7 @@ lemma timeConract_insertAndContract_some_eq_mul_contractStateAtIndex_lt
Algebra.smul_mul_assoc, uncontractedListGet]
· simp only [hik, ↓reduceIte, MulMemClass.coe_mul]
rw [timeContract_of_timeOrderRel]
trans (1 : ) • ((superCommute (anPart φ)) (ofFieldOp φs[k.1]) * ↑φsΛ.timeContract )
trans (1 : ) • ((superCommute (anPart φ)) (ofFieldOp φs[k.1]) * ↑φsΛ.timeContract)
· simp
simp only [smul_smul]
congr 1

View file

@ -39,11 +39,11 @@ lemma normalOrder_uncontracted_none (φ : 𝓕.States) (φs : List 𝓕.States)
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) :
𝓝(ofFieldOpList [φsΛ ↩Λ φ i none]ᵘᶜ)
= 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ⟨φs.get, φsΛ.uncontracted.filter (fun x => i.succAbove x < i)⟩) •
𝓝(ofFieldOpList (φ :: [φsΛ]ᵘᶜ)) := by
𝓝(ofFieldOpList (φ :: [φsΛ]ᵘᶜ)) := by
simp only [Nat.succ_eq_add_one, instCommGroup.eq_1]
rw [ofFieldOpList_normalOrder_insert φ [φsΛ]ᵘᶜ
⟨(φsΛ.uncontractedListOrderPos i), by simp [uncontractedListGet]⟩, smul_smul]
trans (1 : ) • (𝓝(ofFieldOpList [φsΛ ↩Λ φ i none]ᵘᶜ))
trans (1 : ) • (𝓝(ofFieldOpList [φsΛ ↩Λ φ i none]ᵘᶜ))
· simp
congr 1
simp only [instCommGroup.eq_1, uncontractedListGet]
@ -108,7 +108,7 @@ where `k'` is the position in `c.uncontractedList` corresponding to `k`.
lemma normalOrder_uncontracted_some (φ : 𝓕.States) (φs : List 𝓕.States)
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) (k : φsΛ.uncontracted) :
𝓝(ofFieldOpList [φsΛ ↩Λ φ i (some k)]ᵘᶜ)
= 𝓝(ofFieldOpList (optionEraseZ [φsΛ]ᵘᶜ φ ((uncontractedStatesEquiv φs φsΛ) k))) := by
= 𝓝(ofFieldOpList (optionEraseZ [φsΛ]ᵘᶜ φ ((uncontractedStatesEquiv φs φsΛ) k))) := by
simp only [Nat.succ_eq_add_one, insertAndContract, optionEraseZ, uncontractedStatesEquiv,
Equiv.optionCongr_apply, Equiv.coe_trans, Option.map_some', Function.comp_apply, finCongr_apply,
Fin.coe_cast, uncontractedListGet]
@ -153,9 +153,9 @@ The proof of this result relies primarily on:
lemma wick_term_none_eq_wick_term_cons (φ : 𝓕.States) (φs : List 𝓕.States)
(i : Fin φs.length.succ) (φsΛ : WickContraction φs.length) :
(φsΛ ↩Λ φ i none).sign • (φsΛ ↩Λ φ i none).timeContract
* 𝓝(ofFieldOpList [φsΛ ↩Λ φ i none]ᵘᶜ) =
* 𝓝(ofFieldOpList [φsΛ ↩Λ φ i none]ᵘᶜ) =
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ⟨φs.get, (Finset.univ.filter (fun k => i.succAbove k < i))⟩)
• (φsΛ.sign • φsΛ.timeContract * 𝓝(ofFieldOpList (φ :: [φsΛ]ᵘᶜ))) := by
• (φsΛ.sign • φsΛ.timeContract * 𝓝(ofFieldOpList (φ :: [φsΛ]ᵘᶜ))) := by
by_cases hg : GradingCompliant φs φsΛ
· rw [normalOrder_uncontracted_none, sign_insert_none]
simp only [Nat.succ_eq_add_one, timeContract_insertAndContract_none, instCommGroup.eq_1,
@ -203,7 +203,7 @@ lemma wick_term_some_eq_wick_term_optionEraseZ (φ : 𝓕.States) (φs : List
(hlt : ∀ (k : Fin φs.length), timeOrderRel φ φs[k])
(hn : ∀ (k : Fin φs.length), i.succAbove k < i → ¬ timeOrderRel φs[k] φ) :
(φsΛ ↩Λ φ i (some k)).sign • (φsΛ ↩Λ φ i (some k)).timeContract
* 𝓝(ofFieldOpList [φsΛ ↩Λ φ i (some k)]ᵘᶜ) =
* 𝓝(ofFieldOpList [φsΛ ↩Λ φ i (some k)]ᵘᶜ) =
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ⟨φs.get, (Finset.univ.filter (fun x => i.succAbove x < i))⟩)
• (φsΛ.sign • (contractStateAtIndex φ [φsΛ]ᵘᶜ
((uncontractedStatesEquiv φs φsΛ) (some k)) * φsΛ.timeContract)
@ -277,7 +277,7 @@ The proof of this result primarily depends on
lemma wick_term_cons_eq_sum_wick_term (φ : 𝓕.States) (φs : List 𝓕.States) (i : Fin φs.length.succ)
(φsΛ : WickContraction φs.length) (hlt : ∀ (k : Fin φs.length), timeOrderRel φ φs[k])
(hn : ∀ (k : Fin φs.length), i.succAbove k < i → ¬timeOrderRel φs[k] φ) :
(φsΛ.sign • φsΛ.timeContract) * ((ofFieldOp φ) * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)) =
(φsΛ.sign • φsΛ.timeContract) * ((ofFieldOp φ) * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)) =
𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ⟨φs.get, (Finset.univ.filter (fun x => i.succAbove x < i))⟩) •
∑ (k : Option φsΛ.uncontracted), ((φsΛ ↩Λ φ i k).sign •
(φsΛ ↩Λ φ i k).timeContract * (𝓝(ofFieldOpList [φsΛ ↩Λ φ i k]ᵘᶜ))) := by
@ -318,7 +318,7 @@ lemma wick_term_cons_eq_sum_wick_term (φ : 𝓕.States) (φs : List 𝓕.States
/-- Wick's theorem for the empty list. -/
lemma wicks_theorem_nil :
𝓣(ofFieldOpList (𝓕 := 𝓕) []) = ∑ (nilΛ : WickContraction [].length),
(nilΛ.sign (𝓕 := 𝓕) • nilΛ.timeContract) * 𝓝(ofFieldOpList [nilΛ]ᵘᶜ) := by
(nilΛ.sign (𝓕 := 𝓕) • nilΛ.timeContract) * 𝓝(ofFieldOpList [nilΛ]ᵘᶜ) := by
rw [timeOrder_ofFieldOpList_nil]
simp only [map_one, List.length_nil, Algebra.smul_mul_assoc]
rw [sum_WickContraction_nil, uncontractedListGet, nil_zero_uncontractedList]
@ -333,8 +333,7 @@ lemma wicks_theorem_nil :
rfl
lemma wicks_theorem_congr {φs φs' : List 𝓕.States} (h : φs = φs') :
∑ (φsΛ : WickContraction φs.length), (φsΛ.sign • φsΛ.timeContract) *
𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
∑ (φsΛ : WickContraction φs.length), (φsΛ.sign • φsΛ.timeContract) * 𝓝(ofFieldOpList [φsΛ]ᵘᶜ)
= ∑ (φs'Λ : WickContraction φs'.length), (φs'Λ.sign • φs'Λ.timeContract) *
𝓝(ofFieldOpList [φs'Λ]ᵘᶜ) := by
subst h
@ -379,7 +378,7 @@ theorem wicks_theorem : (φs : List 𝓕.States) → 𝓣(ofFieldOpList φs) =
trans (1 : ) • ∑ k : Option { x // x ∈ c.uncontracted }, sign
(List.insertIdx (↑(maxTimeFieldPosFin φ φs)) (maxTimeField φ φs) (eraseMaxTimeField φ φs))
(c ↩Λ (maxTimeField φ φs) (maxTimeFieldPosFin φ φs) k) •
↑((c ↩Λ (maxTimeField φ φs) (maxTimeFieldPosFin φ φs) k).timeContract ) *
↑((c ↩Λ (maxTimeField φ φs) (maxTimeFieldPosFin φ φs) k).timeContract) *
𝓝(ofFieldOpList (List.map (List.insertIdx (↑(maxTimeFieldPosFin φ φs))
(maxTimeField φ φs) (eraseMaxTimeField φ φs)).get
(c ↩Λ (maxTimeField φ φs) (maxTimeFieldPosFin φ φs) k).uncontractedList))