Static Wick's theorem #
theorem
FieldSpecification.FieldOpAlgebra.static_wick_theorem
{š : FieldSpecification}
(Ļs : List š.FieldOp)
:
For a list Ļs
of š.FieldOp
, the static version of Wick's theorem states that
Ļs = ā ĻsĪ, ĻsĪ.staticWickTerm
where the sum is over all Wick contraction ĻsĪ
.
The proof is via induction on Ļs
.
- The base case
Ļs = []
is handled bystaticWickTerm_empty_nil
.
The inductive step works as follows:
For the LHS:
- The proof considers
Ļāā¦Ļā
asĻā(Ļāā¦Ļā)
and uses the induction hypothesis onĻāā¦Ļā
. - This gives terms of the form
Ļ * ĻsĪ.staticWickTerm
on whichmul_staticWickTerm_eq_sum
is used whereĻsĪ
is a Wick contraction ofĻāā¦Ļā
, to rewrite terms as a sum over optional uncontracted elements ofĻsĪ
On the LHS we now have a sum over Wick contractions ĻsĪ
of Ļāā¦Ļā
(from 1) and optional
uncontracted elements of ĻsĪ
(from 2)
For the RHS:
- The sum over Wick contractions of
Ļāā¦Ļā
on the RHS is split viainsertLift_sum
into a sum over Wick contractionsĻsĪ
ofĻāā¦Ļā
and sum over optional uncontracted elements ofĻsĪ
.
Both sides are now sums over the same thing and their terms equate by the nature of the lemmas used.