PhysLean Documentation

PhysLean.QFT.PerturbationTheory.FieldSpecification.NormalOrder

Normal Ordering of states #

def FieldSpecification.normalOrderRel {𝓕 : FieldSpecification} :
𝓕.CrAnFieldOp β†’ 𝓕.CrAnFieldOp β†’ Prop

For a field specification 𝓕, 𝓕.normalOrderRel is a relation on 𝓕.CrAnFieldOp representing normal ordering. It is defined such that 𝓕.normalOrderRel Ο†β‚€ φ₁ is true if one of the following is true

  • Ο†β‚€ is a field creation operator
  • φ₁ is a field annihilation operator.

Thus, colloquially 𝓕.normalOrderRel Ο†β‚€ φ₁ says the creation operators are less than annihilation operators.

Equations
Instances For

    A decidable instance on the normal ordering relation.

    Equations

    Normal order sign. #

    For a field specification 𝓕, and a list Ο†s of 𝓕.CrAnFieldOp, 𝓕.normalOrderSign Ο†s is the sign corresponding to the number of fermionic-fermionic exchanges undertaken to normal-order Ο†s using the insertion sort algorithm.

    Equations
    Instances For
      theorem FieldSpecification.normalOrderSign_swap_create_annihilate_fst {𝓕 : FieldSpecification} (Ο†c Ο†a : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (Ο†s : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†c :: Ο†a :: Ο†s) = (FieldStatistic.exchangeSign (𝓕.crAnStatistics Ο†c)) (𝓕.crAnStatistics Ο†a) * normalOrderSign (Ο†a :: Ο†c :: Ο†s)
      theorem FieldSpecification.koszulSignInsert_swap {𝓕 : FieldSpecification} (Ο† Ο†c Ο†a : 𝓕.CrAnFieldOp) (Ο†s Ο†s' : List 𝓕.CrAnFieldOp) :
      Wick.koszulSignInsert 𝓕.crAnStatistics normalOrderRel Ο† (Ο†s ++ Ο†a :: Ο†c :: Ο†s') = Wick.koszulSignInsert 𝓕.crAnStatistics normalOrderRel Ο† (Ο†s ++ Ο†c :: Ο†a :: Ο†s')
      theorem FieldSpecification.normalOrderSign_swap_create_annihilate {𝓕 : FieldSpecification} (Ο†c Ο†a : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (Ο†s Ο†s' : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†s ++ Ο†c :: Ο†a :: Ο†s') = (FieldStatistic.exchangeSign (𝓕.crAnStatistics Ο†c)) (𝓕.crAnStatistics Ο†a) * normalOrderSign (Ο†s ++ Ο†a :: Ο†c :: Ο†s')
      theorem FieldSpecification.normalOrderSign_swap_create_create_fst {𝓕 : FieldSpecification} (Ο†c Ο†c' : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†c' : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c' = CreateAnnihilate.create) (Ο†s : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†c :: Ο†c' :: Ο†s) = normalOrderSign (Ο†c' :: Ο†c :: Ο†s)
      theorem FieldSpecification.normalOrderSign_swap_create_create {𝓕 : FieldSpecification} (Ο†c Ο†c' : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†c' : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c' = CreateAnnihilate.create) (Ο†s Ο†s' : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†s ++ Ο†c :: Ο†c' :: Ο†s') = normalOrderSign (Ο†s ++ Ο†c' :: Ο†c :: Ο†s')
      theorem FieldSpecification.normalOrderSign_swap_annihilate_annihilate_fst {𝓕 : FieldSpecification} (Ο†a Ο†a' : 𝓕.CrAnFieldOp) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (hΟ†a' : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a' = CreateAnnihilate.annihilate) (Ο†s : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†a :: Ο†a' :: Ο†s) = normalOrderSign (Ο†a' :: Ο†a :: Ο†s)
      theorem FieldSpecification.normalOrderSign_swap_annihilate_annihilate {𝓕 : FieldSpecification} (Ο†a Ο†a' : 𝓕.CrAnFieldOp) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (hΟ†a' : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a' = CreateAnnihilate.annihilate) (Ο†s Ο†s' : List 𝓕.CrAnFieldOp) :
      normalOrderSign (Ο†s ++ Ο†a :: Ο†a' :: Ο†s') = normalOrderSign (Ο†s ++ Ο†a' :: Ο†a :: Ο†s')

      ##Β Normal order of lists

      For a field specification 𝓕, and a list Ο†s of 𝓕.CrAnFieldOp, 𝓕.normalOrderList Ο†s is the list Ο†s normal-ordered using the insertion sort algorithm. It puts creation operators on the left and annihilation operators on the right. For example:

      𝓕.normalOrderList [Ο†1c, Ο†1a, Ο†2c, Ο†2a] = [Ο†1c, Ο†2c, Ο†1a, Ο†2a]

      Equations
      Instances For
        theorem FieldSpecification.normalOrder_swap_create_annihilate_fst {𝓕 : FieldSpecification} (Ο†c Ο†a : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (Ο†s : List 𝓕.CrAnFieldOp) :
        normalOrderList (Ο†c :: Ο†a :: Ο†s) = normalOrderList (Ο†a :: Ο†c :: Ο†s)
        theorem FieldSpecification.normalOrderList_swap_create_annihilate {𝓕 : FieldSpecification} (Ο†c Ο†a : 𝓕.CrAnFieldOp) (hΟ†c : 𝓕.crAnFieldOpToCreateAnnihilate Ο†c = CreateAnnihilate.create) (hΟ†a : 𝓕.crAnFieldOpToCreateAnnihilate Ο†a = CreateAnnihilate.annihilate) (Ο†s Ο†s' : List 𝓕.CrAnFieldOp) :
        normalOrderList (Ο†s ++ Ο†c :: Ο†a :: Ο†s') = normalOrderList (Ο†s ++ Ο†a :: Ο†c :: Ο†s')

        For a list of creation and annihilation states, the equivalence between Fin Ο†s.length and Fin (normalOrderList Ο†s).length taking each position in Ο†s to it's corresponding position in the normal ordered list. This assumes that we are using the insertion sort method. For example:

        • For [Ο†1c, Ο†1a, Ο†2c, Ο†2a] this equivalence sends 0 ↦ 0, 1 ↦ 2, 2 ↦ 1, 3 ↦ 3.
        Equations
        Instances For
          theorem FieldSpecification.sum_normalOrderList_length {𝓕 : FieldSpecification} {M : Type} [AddCommMonoid M] (Ο†s : List 𝓕.CrAnFieldOp) (f : Fin (normalOrderList Ο†s).length β†’ M) :
          βˆ‘ n : Fin (normalOrderList Ο†s).length, f n = βˆ‘ n : Fin Ο†s.length, f (normalOrderEquiv n)
          @[simp]
          theorem FieldSpecification.normalOrderList_get_normalOrderEquiv {𝓕 : FieldSpecification} {Ο†s : List 𝓕.CrAnFieldOp} (n : Fin Ο†s.length) :
          (normalOrderList Ο†s)[↑(normalOrderEquiv n)] = Ο†s[↑n]

          For a field specification 𝓕, a list Ο†s = φ₀…φₙ of 𝓕.CrAnFieldOp and an i < Ο†s.length, then normalOrderSign (Ο†β‚€β€¦Ο†α΅’β‚‹β‚Ο†α΅’β‚Šβ‚β€¦Ο†β‚™) is equal to the product of

          • normalOrderSign φ₀…φₙ,
          • 𝓒(Ο†α΅’, φ₀…φᡒ₋₁) i.e. the sign needed to remove Ο†α΅’ from φ₀…φₙ,
          • 𝓒(Ο†α΅’, _) where _ is the list of elements appearing before Ο†α΅’ after normal ordering, i.e. the sign needed to insert Ο†α΅’ back into the normal-ordered list at the correct place.