2025-01-30 11:00: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.FieldOpAlgebra.NormalOrder
|
|
|
|
|
import HepLean.PerturbationTheory.FieldOpAlgebra.TimeOrder
|
2025-01-30 11:00:25 +00:00
|
|
|
|
/-!
|
|
|
|
|
|
|
|
|
|
# Time contractions
|
|
|
|
|
|
|
|
|
|
We define the state algebra of a field structure to be the free algebra
|
|
|
|
|
generated by the states.
|
|
|
|
|
|
|
|
|
|
-/
|
|
|
|
|
|
|
|
|
|
namespace FieldSpecification
|
|
|
|
|
variable {𝓕 : FieldSpecification}
|
2025-02-03 11:05:43 +00:00
|
|
|
|
open FieldOpFreeAlgebra
|
2025-01-30 11:00:25 +00:00
|
|
|
|
noncomputable section
|
|
|
|
|
|
|
|
|
|
namespace FieldOpAlgebra
|
|
|
|
|
|
|
|
|
|
open FieldStatistic
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
/-- The time contraction of two FieldOp as an element of `𝓞.A` defined
|
2025-01-30 11:00:25 +00:00
|
|
|
|
as their time ordering in the state algebra minus their normal ordering in the
|
|
|
|
|
creation and annihlation algebra, both mapped to `𝓞.A`.. -/
|
2025-02-03 11:28:14 +00:00
|
|
|
|
def timeContract (φ ψ : 𝓕.FieldOp) : 𝓕.FieldOpAlgebra :=
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓣(ofFieldOp φ * ofFieldOp ψ) - 𝓝(ofFieldOp φ * ofFieldOp ψ)
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_eq_smul (φ ψ : 𝓕.FieldOp) : timeContract φ ψ =
|
2025-01-30 11:00:25 +00:00
|
|
|
|
𝓣(ofFieldOp φ * ofFieldOp ψ) + (-1 : ℂ) • 𝓝(ofFieldOp φ * ofFieldOp ψ) := by rfl
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_of_timeOrderRel (φ ψ : 𝓕.FieldOp) (h : timeOrderRel φ ψ) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
timeContract φ ψ = [anPart φ, ofFieldOp ψ]ₛ := by
|
|
|
|
|
conv_rhs =>
|
|
|
|
|
rw [ofFieldOp_eq_crPart_add_anPart]
|
2025-01-30 11:08:10 +00:00
|
|
|
|
rw [map_add, superCommute_anPart_anPart, superCommute_anPart_crPart]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
simp only [timeContract, instCommGroup.eq_1, Algebra.smul_mul_assoc, add_zero]
|
|
|
|
|
rw [timeOrder_ofFieldOp_ofFieldOp_ordered h]
|
|
|
|
|
rw [normalOrder_ofFieldOp_mul_ofFieldOp]
|
|
|
|
|
simp only [instCommGroup.eq_1]
|
|
|
|
|
rw [ofFieldOp_eq_crPart_add_anPart, ofFieldOp_eq_crPart_add_anPart]
|
|
|
|
|
simp only [mul_add, add_mul]
|
|
|
|
|
abel_nf
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_of_not_timeOrderRel (φ ψ : 𝓕.FieldOp) (h : ¬ timeOrderRel φ ψ) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
timeContract φ ψ = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ) • timeContract ψ φ := by
|
|
|
|
|
rw [timeContract_eq_smul]
|
|
|
|
|
simp only [Int.reduceNeg, one_smul, map_add]
|
|
|
|
|
rw [normalOrder_ofFieldOp_ofFieldOp_swap]
|
|
|
|
|
rw [timeOrder_ofFieldOp_ofFieldOp_not_ordered_eq_timeOrder h]
|
|
|
|
|
rw [timeContract_eq_smul]
|
|
|
|
|
simp only [instCommGroup.eq_1, map_smul, map_add, smul_add]
|
|
|
|
|
rw [smul_smul, smul_smul, mul_comm]
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_of_not_timeOrderRel_expand (φ ψ : 𝓕.FieldOp) (h : ¬ timeOrderRel φ ψ) :
|
2025-02-01 11:51:06 +00:00
|
|
|
|
timeContract φ ψ = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ) • [anPart ψ, ofFieldOp φ]ₛ := by
|
|
|
|
|
rw [timeContract_of_not_timeOrderRel _ _ h]
|
|
|
|
|
rw [timeContract_of_timeOrderRel _ _ _]
|
|
|
|
|
have h1 := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
|
|
|
|
simp_all
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_mem_center (φ ψ : 𝓕.FieldOp) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
timeContract φ ψ ∈ Subalgebra.center ℂ 𝓕.FieldOpAlgebra := by
|
|
|
|
|
by_cases h : timeOrderRel φ ψ
|
|
|
|
|
· rw [timeContract_of_timeOrderRel _ _ h]
|
|
|
|
|
exact superCommute_anPart_ofFieldOp_mem_center φ ψ
|
|
|
|
|
· rw [timeContract_of_not_timeOrderRel _ _ h]
|
|
|
|
|
refine Subalgebra.smul_mem (Subalgebra.center ℂ _) ?_ 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ)
|
|
|
|
|
rw [timeContract_of_timeOrderRel]
|
|
|
|
|
exact superCommute_anPart_ofFieldOp_mem_center _ _
|
|
|
|
|
have h1 := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
|
|
|
|
simp_all
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeContract_zero_of_diff_grade (φ ψ : 𝓕.FieldOp) (h : (𝓕 |>ₛ φ) ≠ (𝓕 |>ₛ ψ)) :
|
2025-01-30 11:00:25 +00:00
|
|
|
|
timeContract φ ψ = 0 := by
|
|
|
|
|
by_cases h1 : timeOrderRel φ ψ
|
|
|
|
|
· rw [timeContract_of_timeOrderRel _ _ h1]
|
2025-02-03 11:13:23 +00:00
|
|
|
|
rw [superCommute_anPart_ofFieldOpF_diff_grade_zero]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
exact h
|
|
|
|
|
· rw [timeContract_of_not_timeOrderRel _ _ h1]
|
|
|
|
|
rw [timeContract_of_timeOrderRel _ _ _]
|
2025-02-03 11:13:23 +00:00
|
|
|
|
rw [superCommute_anPart_ofFieldOpF_diff_grade_zero]
|
2025-01-30 11:00:25 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, smul_zero]
|
|
|
|
|
exact h.symm
|
|
|
|
|
have ht := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
|
|
|
|
simp_all
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma normalOrder_timeContract (φ ψ : 𝓕.FieldOp) :
|
2025-01-31 16:02:02 +00:00
|
|
|
|
𝓝(timeContract φ ψ) = 0 := by
|
|
|
|
|
by_cases h : timeOrderRel φ ψ
|
|
|
|
|
· rw [timeContract_of_timeOrderRel _ _ h]
|
|
|
|
|
simp
|
|
|
|
|
· rw [timeContract_of_not_timeOrderRel _ _ h]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, map_smul, smul_eq_zero]
|
2025-01-31 16:02:02 +00:00
|
|
|
|
have h1 : timeOrderRel ψ φ := by
|
|
|
|
|
have ht : timeOrderRel φ ψ ∨ timeOrderRel ψ φ := IsTotal.total (r := 𝓕.timeOrderRel) φ ψ
|
|
|
|
|
simp_all
|
|
|
|
|
rw [timeContract_of_timeOrderRel _ _ h1]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeOrder_timeContract_eq_time_mid {φ ψ : 𝓕.FieldOp}
|
2025-02-01 11:51:06 +00:00
|
|
|
|
(h1 : timeOrderRel φ ψ) (h2 : timeOrderRel ψ φ) (a b : 𝓕.FieldOpAlgebra) :
|
2025-02-03 05:39:48 +00:00
|
|
|
|
𝓣(a * timeContract φ ψ * b) = timeContract φ ψ * 𝓣(a * b) := by
|
2025-02-01 11:51:06 +00:00
|
|
|
|
rw [timeContract_of_timeOrderRel _ _ h1]
|
|
|
|
|
rw [ofFieldOp_eq_sum]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [map_sum, Finset.mul_sum, Finset.sum_mul]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
congr
|
|
|
|
|
funext x
|
|
|
|
|
match φ with
|
|
|
|
|
| .inAsymp φ =>
|
|
|
|
|
simp
|
|
|
|
|
| .position φ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_eq_time_mid _ _
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [crAnTimeOrderRel, h1]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
simp [crAnTimeOrderRel, h2]
|
|
|
|
|
| .outAsymp φ =>
|
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_eq_time_mid _ _
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [crAnTimeOrderRel, h1]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
simp [crAnTimeOrderRel, h2]
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeOrder_timeContract_eq_time_left {φ ψ : 𝓕.FieldOp}
|
2025-02-01 11:51:06 +00:00
|
|
|
|
(h1 : timeOrderRel φ ψ) (h2 : timeOrderRel ψ φ) (b : 𝓕.FieldOpAlgebra) :
|
2025-02-03 05:39:48 +00:00
|
|
|
|
𝓣(timeContract φ ψ * b) = timeContract φ ψ * 𝓣(b) := by
|
2025-02-01 11:51:06 +00:00
|
|
|
|
trans 𝓣(1 * timeContract φ ψ * b)
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [one_mul]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
rw [timeOrder_timeContract_eq_time_mid h1 h2]
|
|
|
|
|
simp
|
|
|
|
|
|
2025-02-03 11:28:14 +00:00
|
|
|
|
lemma timeOrder_timeContract_neq_time {φ ψ : 𝓕.FieldOp}
|
2025-02-01 11:51:06 +00:00
|
|
|
|
(h1 : ¬ (timeOrderRel φ ψ ∧ timeOrderRel ψ φ)) :
|
|
|
|
|
𝓣(timeContract φ ψ) = 0 := by
|
|
|
|
|
by_cases h2 : timeOrderRel φ ψ
|
2025-02-03 05:39:48 +00:00
|
|
|
|
· simp_all only [true_and]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
rw [timeContract_of_timeOrderRel _ _ h2]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only
|
2025-02-01 11:51:06 +00:00
|
|
|
|
rw [ofFieldOp_eq_sum]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [map_sum]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
apply Finset.sum_eq_zero
|
|
|
|
|
intro x hx
|
|
|
|
|
match φ with
|
|
|
|
|
| .inAsymp φ =>
|
|
|
|
|
simp
|
|
|
|
|
| .position φ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_neq_time
|
|
|
|
|
simp_all [crAnTimeOrderRel]
|
|
|
|
|
| .outAsymp φ =>
|
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_neq_time
|
|
|
|
|
simp_all [crAnTimeOrderRel]
|
|
|
|
|
· rw [timeContract_of_not_timeOrderRel_expand _ _ h2]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [instCommGroup.eq_1, map_smul, smul_eq_zero]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
right
|
|
|
|
|
rw [ofFieldOp_eq_sum]
|
2025-02-03 05:39:48 +00:00
|
|
|
|
simp only [map_sum]
|
2025-02-01 11:51:06 +00:00
|
|
|
|
apply Finset.sum_eq_zero
|
|
|
|
|
intro x hx
|
|
|
|
|
match ψ with
|
|
|
|
|
| .inAsymp ψ =>
|
|
|
|
|
simp
|
|
|
|
|
| .position ψ =>
|
|
|
|
|
simp only [anPart_position, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_neq_time
|
|
|
|
|
simp_all [crAnTimeOrderRel]
|
|
|
|
|
| .outAsymp ψ =>
|
|
|
|
|
simp only [anPart_posAsymp, instCommGroup.eq_1]
|
|
|
|
|
apply timeOrder_superCommute_neq_time
|
|
|
|
|
simp_all [crAnTimeOrderRel]
|
|
|
|
|
|
2025-01-30 11:00:25 +00:00
|
|
|
|
end FieldOpAlgebra
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
end FieldSpecification
|