PhysLean Documentation

PhysLean.QFT.PerturbationTheory.WickContraction.UncontractedList

List of uncontracted elements of a Wick contraction #

Some properties of lists of fin #

theorem WickContraction.fin_list_sorted_monotone_sorted {n m : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (f : Fin nFin m) (hf : StrictMono f) :
List.Sorted (fun (x1 x2 : Fin m) => x1 x2) (List.map f l)
theorem WickContraction.fin_list_sorted_succAboveEmb_sorted {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : Fin n.succ) :
List.Sorted (fun (x1 x2 : Fin (n + 1)) => x1 x2) (List.map (⇑i.succAboveEmb) l)
theorem WickContraction.fin_finset_sort_map_monotone {n m : } (a : Finset (Fin n)) (f : Fin n Fin m) (hf : StrictMono f) :
List.map (⇑f) (Finset.sort (fun (x1 x2 : Fin n) => x1 x2) a) = Finset.sort (fun (x1 x2 : Fin m) => x1 x2) (Finset.map f a)
theorem WickContraction.fin_list_sorted_split {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : ) :
l = List.filter (fun (x : Fin n) => decide (x < i)) l ++ List.filter (fun (x : Fin n) => decide (i x)) l
theorem WickContraction.fin_list_sorted_indexOf_filter_le_mem {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : Fin n) :
i lList.idxOf i (List.filter (fun (x : Fin n) => decide (i x)) l) = 0
theorem WickContraction.fin_list_sorted_indexOf_mem {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : Fin n) (hi : i l) :
List.idxOf i l = (List.filter (fun (x : Fin n) => decide (x < i)) l).length
theorem WickContraction.orderedInsert_of_fin_list_sorted {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : Fin n) :
List.orderedInsert (fun (x1 x2 : Fin n) => x1 x2) i l = List.filter (fun (x : Fin n) => decide (x < i)) l ++ i :: List.filter (fun (x : Fin n) => decide (i x)) l
theorem WickContraction.orderedInsert_eq_insertIdx_of_fin_list_sorted {n : } (l : List (Fin n)) (hl : List.Sorted (fun (x1 x2 : Fin n) => x1 x2) l) (i : Fin n) :
List.orderedInsert (fun (x1 x2 : Fin n) => x1 x2) i l = List.insertIdx (List.filter (fun (x : Fin n) => decide (x < i)) l).length i l

Uncontracted List #

Given a Wick contraction c, the ordered list of elements of Fin n which are not contracted, i.e. do not appear anywhere in c.1.

Equations
Instances For
    theorem WickContraction.filter_uncontractedList {n : } (c : WickContraction n) (p : Fin nProp) [DecidablePred p] :
    List.filter (fun (b : Fin n) => decide (p b)) c.uncontractedList = Finset.sort (fun (x1 x2 : Fin n) => x1 x2) (Finset.filter p c.uncontracted)

    uncontractedIndexEquiv #

    The equivalence between the positions of c.uncontractedList i.e. elements of Fin (c.uncontractedList).length and the finite set c.uncontracted considered as a finite type.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Uncontracted List get #

      Given a Wick Contraction φsΛ of a list φs of 𝓕.FieldOp. The list φsΛ.uncontractedListGet of 𝓕.FieldOp is defined as the list φs with all contracted positions removed, leaving the uncontracted 𝓕.FieldOp.

      The notation [φsΛ]ᵘᶜ is used for φsΛ.uncontractedListGet.

      Equations
      Instances For

        Given a Wick Contraction φsΛ of a list φs of 𝓕.FieldOp. The list φsΛ.uncontractedListGet of 𝓕.FieldOp is defined as the list φs with all contracted positions removed, leaving the uncontracted 𝓕.FieldOp.

        The notation [φsΛ]ᵘᶜ is used for φsΛ.uncontractedListGet.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          uncontractedFieldOpEquiv #

          The equivalence between the type Option c.uncontracted for WickContraction φs.length and Option (Fin (c.uncontractedList.map φs.get).length), that is optional positions of c.uncontractedList.map φs.get induced by uncontractedIndexEquiv.

          Equations
          Instances For
            theorem WickContraction.uncontractedFieldOpEquiv_list_sum {𝓕 : FieldSpecification} {α : Type u_1} [AddCommMonoid α] (φs : List 𝓕.FieldOp) (φsΛ : WickContraction φs.length) (f : Option (Fin φsΛ.uncontractedListGet.length)α) :
            i : Option (Fin φsΛ.uncontractedListGet.length), f i = i : Option { x : Fin φs.length // x φsΛ.uncontracted }, f ((uncontractedFieldOpEquiv φs φsΛ) i)

            uncontractedListEmd #

            The embedding of Fin [φsΛ]ᵘᶜ.length into Fin φs.length.

            Equations
            Instances For

              Uncontracted List for extractEquiv symm none #

              Uncontracted List for extractEquiv symm some #

              uncontractedListOrderPos #

              Given a Wick contraction c : WickContraction n and a Fin n.succ, the number of elements of c.uncontractedList which are less than i. Suppose we want to insert into c at position i, then this is the position we would need to insert into c.uncontractedList.

              Equations
              Instances For