Equivalence extracting element from contraction #
The equivalence between WickContraction n.succ
and the sigma type
(c : WickContraction n) × Option c.uncontracted
formed by inserting
and erasing elements from a contraction.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fintype instance of WickContraction 0
defined through its single
element empty
.
Equations
- WickContraction.fintype_zero = { elems := {WickContraction.empty}, complete := WickContraction.fintype_zero.proof_1 }
The fintype instance of WickContraction n
, for n.succ
this is defined
through the equivalence extractEquiv
.
Equations
For n = 3
there are 4
possible Wick contractions:
∅
, corresponding to the case where no fields are contracted.{{0, 1}}
, corresponding to the case where the field at position0
and1
are contracted.{{0, 2}}
, corresponding to the case where the field at position0
and2
are contracted.{{1, 2}}
, corresponding to the case where the field at position1
and2
are contracted.
The proof of this result uses the fact that Lean is an executable programming language
and can calculate all Wick contractions for a given n
.
For n = 4
there are 10
possible Wick contractions including e.g.
∅
, corresponding to the case where no fields are contracted.{{0, 1}, {2, 3}}
, corresponding to the case where the fields at position0
and1
are contracted, and the fields at position2
and3
are contracted.{{0, 2}, {1, 3}}
, corresponding to the case where the fields at position0
and2
are contracted, and the fields at position1
and3
are contracted.
The proof of this result uses the fact that Lean is an executable programming language
and can calculate all Wick contractions for a given n
.