Imports
/- 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 -/ module public import Physlib.QFT.PerturbationTheory.WickAlgebra.NormalOrder.Lemmas public import Physlib.QFT.PerturbationTheory.WickAlgebra.TimeOrder

Time contractions

We define the state algebra of a field structure to be the free algebra generated by the states.

@[expose] public section

For a field specification 𝓕, and φ and ψ elements of 𝓕.FieldOp, the element of 𝓕.WickAlgebra, timeContract φ ψ is defined to be 𝓣(φψ) - 𝓝(φψ).

def timeContract (φ ψ : 𝓕.FieldOp) : 𝓕.WickAlgebra := 𝓣(ofFieldOp φ * ofFieldOp ψ) - 𝓝(ofFieldOp φ * ofFieldOp ψ)
lemma timeContract_eq_smul (φ ψ : 𝓕.FieldOp) : timeContract φ ψ = 𝓣(ofFieldOp φ * ofFieldOp ψ) + (-1 : ) 𝓝(ofFieldOp φ * ofFieldOp ψ) := 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOptimeContract φ ψ = timeOrder (ofFieldOp φ * ofFieldOp ψ) + -1 normalOrder (ofFieldOp φ * ofFieldOp ψ) All goals completed! 🐙

For a field specification 𝓕, and φ and ψ elements of 𝓕.FieldOp, if φ and ψ are time-ordered then

timeContract φ ψ = [anPart φ, ofFieldOp ψ]ₛ.

𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:timeOrderRel φ ψ(crPart φ + anPart φ) * (crPart ψ + anPart ψ) - (crPart φ * crPart ψ + (exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) (crPart ψ * anPart φ) + crPart φ * anPart ψ + anPart φ * anPart ψ) = anPart φ * crPart ψ - (exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) (crPart ψ * anPart φ) 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:timeOrderRel φ ψcrPart φ * crPart ψ + anPart φ * crPart ψ + (crPart φ * anPart ψ + anPart φ * anPart ψ) - (crPart φ * crPart ψ + (exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) (crPart ψ * anPart φ) + crPart φ * anPart ψ + anPart φ * anPart ψ) = anPart φ * crPart ψ - (exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) (crPart ψ * anPart φ) All goals completed! 🐙
All goals completed! 🐙

For a field specification 𝓕, and φ and ψ elements of 𝓕.FieldOp, if φ and ψ are not time-ordered then

timeContract φ ψ = 𝓢(𝓕 |>ₛ φ, 𝓕 |>ₛ ψ) • [anPart ψ, ofFieldOp φ]ₛ.

𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψh1:timeOrderRel φ ψ timeOrderRel ψ φtimeOrderRel ψ φ All goals completed! 🐙
All goals completed! 🐙

For a field specification 𝓕, and φ and ψ elements of 𝓕.FieldOp, then timeContract φ ψ is in the center of 𝓕.WickAlgebra.

𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψ(superCommute (anPart ψ)) (ofFieldOp φ) Subalgebra.center 𝓕.WickAlgebra𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψh1:timeOrderRel φ ψ timeOrderRel ψ φtimeOrderRel ψ φ All goals completed! 🐙
𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψ(exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) 0 = 0𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψ(𝓕|>ₛψ) 𝓕|>ₛφ𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψ(𝓕|>ₛψ) 𝓕|>ₛφ𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψtimeOrderRel ψ φ 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:(𝓕|>ₛφ) 𝓕|>ₛψh1:¬timeOrderRel φ ψht:timeOrderRel φ ψ timeOrderRel ψ φtimeOrderRel ψ φ All goals completed! 🐙𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph:¬timeOrderRel φ ψh1:timeOrderRel ψ φ(exchangeSign (𝓕|>ₛφ)) (𝓕|>ₛψ) = 0 normalOrder ((superCommute (anPart ψ)) (ofFieldOp φ)) = 0 All goals completed! 🐙𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:timeOrderRel φ ψh2:timeOrderRel ψ φa:𝓕.WickAlgebrab:𝓕.WickAlgebratimeOrder (a * (superCommute (anPart φ)) (∑ i, ofCrAnOp ψ, i) * b) = (superCommute (anPart φ)) (∑ i, ofCrAnOp ψ, i) * timeOrder (a * b) 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:timeOrderRel φ ψh2:timeOrderRel ψ φa:𝓕.WickAlgebrab:𝓕.WickAlgebra x, timeOrder (a * (superCommute (anPart φ)) (ofCrAnOp ψ, x) * b) = i, (superCommute (anPart φ)) (ofCrAnOp ψ, i) * timeOrder (a * b) 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:timeOrderRel φ ψh2:timeOrderRel ψ φa:𝓕.WickAlgebrab:𝓕.WickAlgebra(fun x => timeOrder (a * (superCommute (anPart φ)) (ofCrAnOp ψ, x) * b)) = fun i => (superCommute (anPart φ)) (ofCrAnOp ψ, i) * timeOrder (a * b) 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:timeOrderRel φ ψh2:timeOrderRel ψ φa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψtimeOrder (a * (superCommute (anPart φ)) (ofCrAnOp ψ, x) * b) = (superCommute (anPart φ)) (ofCrAnOp ψ, x) * timeOrder (a * b) match φ with 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.inAsymp φ) ψh2:timeOrderRel ψ (FieldOp.inAsymp φ)timeOrder (a * (superCommute (anPart (FieldOp.inAsymp φ))) (ofCrAnOp ψ, x) * b) = (superCommute (anPart (FieldOp.inAsymp φ))) (ofCrAnOp ψ, x) * timeOrder (a * b) All goals completed! 🐙 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:timeOrderRel (FieldOp.position φ) ψh2:timeOrderRel ψ (FieldOp.position φ)timeOrder (a * (superCommute (anPart (FieldOp.position φ))) (ofCrAnOp ψ, x) * b) = (superCommute (anPart (FieldOp.position φ))) (ofCrAnOp ψ, x) * timeOrder (a * b) 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:timeOrderRel (FieldOp.position φ) ψh2:timeOrderRel ψ (FieldOp.position φ)timeOrder (a * (superCommute (ofCrAnOp FieldOp.position φ, CreateAnnihilate.annihilate)) (ofCrAnOp ψ, x) * b) = (superCommute (ofCrAnOp FieldOp.position φ, CreateAnnihilate.annihilate)) (ofCrAnOp ψ, x) * timeOrder (a * b) 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:timeOrderRel (FieldOp.position φ) ψh2:timeOrderRel ψ (FieldOp.position φ)crAnTimeOrderRel FieldOp.position φ, CreateAnnihilate.annihilate ψ, x𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:timeOrderRel (FieldOp.position φ) ψh2:timeOrderRel ψ (FieldOp.position φ)crAnTimeOrderRel ψ, x FieldOp.position φ, CreateAnnihilate.annihilate 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:timeOrderRel (FieldOp.position φ) ψh2:timeOrderRel ψ (FieldOp.position φ)crAnTimeOrderRel ψ, x FieldOp.position φ, CreateAnnihilate.annihilate All goals completed! 🐙 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.outAsymp φ) ψh2:timeOrderRel ψ (FieldOp.outAsymp φ)timeOrder (a * (superCommute (anPart (FieldOp.outAsymp φ))) (ofCrAnOp ψ, x) * b) = (superCommute (anPart (FieldOp.outAsymp φ))) (ofCrAnOp ψ, x) * timeOrder (a * b) 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.outAsymp φ) ψh2:timeOrderRel ψ (FieldOp.outAsymp φ)timeOrder (a * (superCommute (ofCrAnOp FieldOp.outAsymp φ, ())) (ofCrAnOp ψ, x) * b) = (superCommute (ofCrAnOp FieldOp.outAsymp φ, ())) (ofCrAnOp ψ, x) * timeOrder (a * b) 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.outAsymp φ) ψh2:timeOrderRel ψ (FieldOp.outAsymp φ)crAnTimeOrderRel FieldOp.outAsymp φ, () ψ, x𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.outAsymp φ) ψh2:timeOrderRel ψ (FieldOp.outAsymp φ)crAnTimeOrderRel ψ, x FieldOp.outAsymp φ, () 𝓕:FieldSpecificationφ✝:𝓕.FieldOpψ:𝓕.FieldOpa:𝓕.WickAlgebrab:𝓕.WickAlgebrax:𝓕.fieldOpToCrAnType ψφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:timeOrderRel (FieldOp.outAsymp φ) ψh2:timeOrderRel ψ (FieldOp.outAsymp φ)crAnTimeOrderRel ψ, x FieldOp.outAsymp φ, () All goals completed! 🐙𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:timeOrderRel φ ψh2:timeOrderRel ψ φb:𝓕.WickAlgebratimeContract φ ψ * timeOrder (1 * b) = timeContract φ ψ * timeOrder b All goals completed! 🐙𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:¬(timeOrderRel φ ψ timeOrderRel ψ φ)h2:¬timeOrderRel φ ψtimeOrder ((superCommute (anPart ψ)) (∑ i, ofCrAnOp φ, i)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:¬(timeOrderRel φ ψ timeOrderRel ψ φ)h2:¬timeOrderRel φ ψ x, timeOrder ((superCommute (anPart ψ)) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:¬(timeOrderRel φ ψ timeOrderRel ψ φ)h2:¬timeOrderRel φ ψ x Finset.univ, timeOrder ((superCommute (anPart ψ)) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ:𝓕.FieldOph1:¬(timeOrderRel φ ψ timeOrderRel ψ φ)h2:¬timeOrderRel φ ψx:𝓕.fieldOpToCrAnType φhx:x Finset.univtimeOrder ((superCommute (anPart ψ)) (ofCrAnOp φ, x)) = 0 match ψ with 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:¬(timeOrderRel φ (FieldOp.inAsymp ψ) timeOrderRel (FieldOp.inAsymp ψ) φ)h2:¬timeOrderRel φ (FieldOp.inAsymp ψ)timeOrder ((superCommute (anPart (FieldOp.inAsymp ψ))) (ofCrAnOp φ, x)) = 0 All goals completed! 🐙 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:¬(timeOrderRel φ (FieldOp.position ψ) timeOrderRel (FieldOp.position ψ) φ)h2:¬timeOrderRel φ (FieldOp.position ψ)timeOrder ((superCommute (anPart (FieldOp.position ψ))) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:¬(timeOrderRel φ (FieldOp.position ψ) timeOrderRel (FieldOp.position ψ) φ)h2:¬timeOrderRel φ (FieldOp.position ψ)timeOrder ((superCommute (ofCrAnOp FieldOp.position ψ, CreateAnnihilate.annihilate)) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.PositionLabel f) × SpaceTimeh1:¬(timeOrderRel φ (FieldOp.position ψ) timeOrderRel (FieldOp.position ψ) φ)h2:¬timeOrderRel φ (FieldOp.position ψ)¬(crAnTimeOrderRel FieldOp.position ψ, CreateAnnihilate.annihilate φ, x crAnTimeOrderRel φ, x FieldOp.position ψ, CreateAnnihilate.annihilate) All goals completed! 🐙 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:¬(timeOrderRel φ (FieldOp.outAsymp ψ) timeOrderRel (FieldOp.outAsymp ψ) φ)h2:¬timeOrderRel φ (FieldOp.outAsymp ψ)timeOrder ((superCommute (anPart (FieldOp.outAsymp ψ))) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:¬(timeOrderRel φ (FieldOp.outAsymp ψ) timeOrderRel (FieldOp.outAsymp ψ) φ)h2:¬timeOrderRel φ (FieldOp.outAsymp ψ)timeOrder ((superCommute (ofCrAnOp FieldOp.outAsymp ψ, ())) (ofCrAnOp φ, x)) = 0 𝓕:FieldSpecificationφ:𝓕.FieldOpψ✝:𝓕.FieldOpx:𝓕.fieldOpToCrAnType φhx:x Finset.univψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumh1:¬(timeOrderRel φ (FieldOp.outAsymp ψ) timeOrderRel (FieldOp.outAsymp ψ) φ)h2:¬timeOrderRel φ (FieldOp.outAsymp ψ)¬(crAnTimeOrderRel FieldOp.outAsymp ψ, () φ, x crAnTimeOrderRel φ, x FieldOp.outAsymp ψ, ()) All goals completed! 🐙

The time contraction of an incoming asymptotic field with another incoming asymptotic field is zero.

This prevents Feynman diagrams where incoming vertices are connected to incoming vertices.

𝓕:FieldSpecificationφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentum(if timeOrderRel (FieldOp.inAsymp φ) (FieldOp.inAsymp ψ) then (superCommute (anPart (FieldOp.inAsymp φ))) (ofFieldOp (FieldOp.inAsymp ψ)) else (exchangeSign (𝓕|>ₛFieldOp.inAsymp φ)) (𝓕|>ₛFieldOp.inAsymp ψ) (superCommute (anPart (FieldOp.inAsymp ψ))) (ofFieldOp (FieldOp.inAsymp φ))) = 0 All goals completed! 🐙

The time contraction of an outgoing asymptotic field with another outgoing asymptotic field is zero.

This prevents Feynman diagrams where outgoing vertices are connected to outgoing vertices.

𝓕:FieldSpecificationφ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentumψ:((f : 𝓕.Field) × 𝓕.AsymptoticLabel f) × Momentum(if timeOrderRel (FieldOp.outAsymp φ) (FieldOp.outAsymp ψ) then (superCommute (anPart (FieldOp.outAsymp φ))) (anPart (FieldOp.outAsymp ψ)) else (exchangeSign (𝓕|>ₛFieldOp.outAsymp φ)) (𝓕|>ₛFieldOp.outAsymp ψ) (superCommute (anPart (FieldOp.outAsymp ψ))) (anPart (FieldOp.outAsymp φ))) = 0 All goals completed! 🐙