Physlib.QFT.PerturbationTheory.WickContraction.UncontractedList
59 declarations
Strict Monotonicity Preserves Sortedness of Lists
#fin_list_sorted_monotone_sortedFor any natural numbers and , let be a list of elements of the finite set . If the list is sorted in non-decreasing order (i.e., it is pairwise ) and is a strictly monotonic function, then the list obtained by applying to each element of is also sorted in non-decreasing order.
The embedding preserves the sortedness of lists in
#fin_list_sorted_succAboveEmb_sortedLet be a natural number and let be a list of elements from the set . If the list is sorted in non-decreasing order (i.e., its elements are pairwise ), then for any , the list obtained by applying the embedding to each element of is also sorted in non-decreasing order. The embedding maps an element to if and to if .
for strictly monotone
#fin_finset_sort_map_monotoneLet and let be a finite subset of . Let be a strictly monotone embedding. Then the list obtained by sorting the elements of in non-decreasing order and applying to each element is equal to the list obtained by sorting the image set . That is, .
A Sorted List of Finite Integers Splits into and
#fin_list_sorted_splitLet be a list of elements from the set . If is sorted in non-decreasing order, then for any natural number , the list is equal to the concatenation of two sublists: the sublist of elements such that and the sublist of elements such that . That is, .
Index of in a sorted list filtered by is 0
#fin_list_sorted_indexOf_filter_le_memLet be a list of elements in that is sorted in non-decreasing order. Let be an element belonging to . If is the sublist of containing only those elements such that , then the index of the first occurrence of in is 0.
The index of in a sorted list equals the number of elements less than
#fin_list_sorted_indexOf_memLet be a list of elements from the set that is sorted in non-decreasing order. For any element belonging to , the index of the first occurrence of in is equal to the length of the sublist containing all elements such that .
Ordered Insertion into a Sorted List equals
#orderedInsert_of_fin_list_sortedLet be a list of elements from the set . Suppose is sorted in non-decreasing order. For any , the ordered insertion of into (preserving the non-decreasing order) is equal to the concatenation of the sublist of elements such that , the element itself, and the sublist of elements such that . In symbols, if and , then
Ordered insertion into a sorted list equals insertion at index
#orderedInsert_eq_insertIdx_of_fin_list_sortedLet be a list of elements from the set that is sorted in non-decreasing order. For any , the ordered insertion of into (preserving the order) is equal to the result of inserting into at the specific index corresponding to the number of elements in that are strictly less than . In symbols, if denotes the sublist of elements such that , then:
Sorted list of uncontracted indices of a Wick contraction
#uncontractedListGiven a Wick contraction on indices, the uncontracted list is the list of all indices that are not part of any contracted pair in , ordered such that the indices are in strictly increasing order.
For a Wick contraction on indices, an index belongs to the sorted list of uncontracted indices if and only if it belongs to the set of uncontracted indices .
The `uncontractedList` of the empty Wick contraction is the list of all indices
#uncontractedList_emptyFor the empty Wick contraction on indices, where no elements are paired, the sorted list of uncontracted indices is equal to the list of all indices from to in strictly increasing order, denoted as `List.finRange n`.
The uncontracted list for an empty contraction on 0 indices is
#nil_zero_uncontractedListFor an empty Wick contraction on a set of indices, the list of uncontracted indices is the empty list .
`uncontractedList` commutes with index congruence
#congr_uncontractedListLet be such that , and let be a Wick contraction on indices. The uncontracted list of the Wick contraction when re-indexed to indices (via the equality ) is equal to the list obtained by applying the index transformation mapping to each element of the uncontracted list of .
The -th element of is in
#uncontractedList_get_mem_uncontractedLet be a Wick contraction on indices . Let be the sorted list of uncontracted indices and be the set of uncontracted indices. For any valid index into the list (i.e., ), the -th element of is an element of the set .
The list of uncontracted indices is non-decreasing ()
#uncontractedList_sortedFor a Wick contraction on indices, the list of uncontracted indices is non-decreasing. That is, for any two elements in the list, the element appearing at an earlier position is less than or equal to any element appearing at a subsequent position.
The list of uncontracted indices is strictly increasing.
#uncontractedList_sorted_ltFor a Wick contraction on indices , the list of uncontracted indices is strictly increasing. That is, for any two indices in the list, the element at the earlier position is strictly less than the element at any subsequent position.
The list of uncontracted indices has no duplicates
#uncontractedList_nodupFor a Wick contraction on the set of indices , the list of uncontracted indices contains no duplicate elements.
The set of elements in the uncontracted list equals the uncontracted set
#uncontractedList_toFinsetFor a Wick contraction on indices , the set of elements contained in the sorted list of uncontracted indices is equal to the set of uncontracted indices of .
equals the sorted set
#uncontractedList_eq_sortFor a Wick contraction on the set of indices , the list of uncontracted indices is equal to the list obtained by sorting the set of uncontracted indices in non-decreasing order with respect to .
Length of equals
#uncontractedList_length_eq_cardFor a Wick contraction on the set of indices , the length of the sorted list of uncontracted indices is equal to the cardinality of the set of uncontracted indices, denoted as .
Filtering equals the sorted filtered set
#filter_uncontractedListFor a Wick contraction on indices and a decidable predicate on these indices, filtering the sorted list of uncontracted indices by results in the same list as sorting the set of uncontracted indices that satisfy (i.e., ) in non-decreasing order with respect to .
Equivalence between positions in and elements of
#uncontractedIndexEquivFor a Wick contraction on indices, let be the list of indices not involved in any contracted pair, sorted in increasing order, and let be the set of these same indices. The equivalence `uncontractedIndexEquiv` is the bijection between the set of positions in the list, represented by the finite type , and the set of uncontracted indices. Under this bijection, an index is mapped to the -th element of the sorted list .
The element of at position is
#uncontractedList_getElem_uncontractedIndexEquiv_symmFor a Wick contraction on indices, let be the list of indices not part of any contracted pair, sorted in strictly increasing order, and let be the set of these indices. For any uncontracted index , the element at the position in corresponding to under the inverse bijection is equal to itself.
The index of an uncontracted element in equals the count of uncontracted elements less than
#uncontractedIndexEquiv_symm_eq_filter_lengthLet be a Wick contraction on indices. Let be the set of indices not involved in any contracted pair, and let be the list containing these indices sorted in strictly increasing order. For any uncontracted index , the position (index) of in is equal to the number of elements in that are strictly less than .
The prefix of up to the position of equals the sublist of elements strictly less than
#take_uncontractedIndexEquiv_symmFor a Wick contraction on indices, let be the list of indices not involved in any contracted pair, sorted in strictly increasing order. For any uncontracted index , the sublist consisting of the first elements of , where is the position (index) of in the list, is equal to the sublist of elements in that are strictly less than .
List of uncontracted field operators
#uncontractedListGetGiven a list of field operators and a Wick contraction on that list, the function returns the sub-list of operators in whose indices are uncontracted by . Specifically, if is the sorted list of indices in that do not participate in any contraction in , the function returns the list . This list is denoted by the notation .
List of uncontracted field operators
#term[_]ᵘᶜGiven a Wick contraction on a sequence of field operators , the notation denotes the sub-list of field operators in that remain uncontracted (i.e., those operators not paired with another by the contraction ).
For a list of field operators , let be the empty Wick contraction (where no operators are paired). The list of uncontracted field operators is equal to the original list .
Equivalence between optional uncontracted indices and positions in
#uncontractedFieldOpEquivFor a list of field operators and a Wick contraction acting on those operators, let be the set of indices not involved in any contraction, and let be the list of field operators corresponding to these uncontracted indices (sorted by their original positions). This definition establishes a bijection (equivalence) between and the set of positions in the list plus a "none" element, i.e., . Under this bijection, an index is mapped to its position in the sorted list, and the value `none` is mapped to `none`.
`uncontractedFieldOpEquiv` of `none` equals `none`
#uncontractedFieldOpEquiv_noneFor a list of field operators and a Wick contraction on those operators, let be the equivalence `uncontractedFieldOpEquiv` that maps between the optional uncontracted indices and the optional positions in the sorted list of uncontracted field operators . The mapping satisfies .
Summation identity for the equivalence between uncontracted indices and positions in
#uncontractedFieldOpEquiv_list_sumLet be a list of field operators and a Wick contraction on its indices. Let be the set of indices in that are uncontracted by , and let be the list of field operators corresponding to these uncontracted indices (sorted by their original positions). Let be the bijection `uncontractedFieldOpEquiv` that maps the set to the set of positions in plus a "none" element, i.e., . For any function mapping from to an additive commutative monoid , the sum of over its domain is equal to the sum of over the set :
Embedding of uncontracted list indices into original indices
#uncontractedListEmdFor a list of field operators and a Wick contraction acting on them, let denote the list of field operators that remain uncontracted, sorted by their original positions. This function is an embedding that maps the index of an operator in the uncontracted list to its corresponding original index in the list .
implies equality of uncontracted index embeddings
#uncontractedListEmd_congrLet be a list of field operators and let and be two Wick contractions on . If , then the embedding , which maps the index of an operator in the uncontracted list to its original index in , is equal to the composition of the index congruence map (identifying the index sets of the two identical uncontracted lists) and the embedding .
`uncontractedListEmd` equals `get` on `uncontractedList`
#uncontractedListEmd_toFun_eq_getFor a list of field operators and a Wick contraction acting on them, let be the list of indices in that are not part of any contracted pair in , ordered such that they are strictly increasing. The embedding function (defined by `uncontractedListEmd`), which maps an index from the set to its original index in , is equal to the function that retrieves the -th element of the list . Here, denotes the list of field operators that remain uncontracted.
The Uncontracted List Embedding is Strictly Increasing
#uncontractedListEmd_strictMonoFor a list of field operators and a Wick contraction acting on them, let be the list of uncontracted field operators sorted by their original positions. Let be the embedding (the function `uncontractedListEmd`) that maps the index of an operator in the uncontracted list to its corresponding original index in the list . Then is strictly increasing: for any two indices in the domain of , if , then .
For a field specification , a list of field operators , and a Wick contraction acting on , let be the list of field operators that remain uncontracted. For any index , the original index in corresponding to the -th uncontracted operator (given by the embedding ) is an element of the set of uncontracted indices of the contraction .
Surjectivity of onto the set of uncontracted indices
#uncontractedListEmd_surjective_mem_uncontractedFor a list of field operators and a Wick contraction acting on them, let be an index that is uncontracted under . Then there exists an index in the list of uncontracted field operators such that the embedding function maps to .
Mapped uncontracted indices are disjoint from contracted pairs
#uncontractedListEmd_finset_disjoint_leftFor a list of field operators and a Wick contraction on , let be the list of field operators remaining uncontracted and be the embedding (`uncontractedListEmd`) that maps an index of the uncontracted list to its original index in . For any finite set of indices of the uncontracted list and any pair that is part of the contraction (), the set of original indices and the set are disjoint.
The image of a set of uncontracted indices is not a contracted pair in
#uncontractedListEmd_finset_not_memFor a list of field operators and a Wick contraction on that list, let denote the list of field operators that remain uncontracted. Let be the embedding (`uncontractedListEmd`) that maps an index of the uncontracted list to its corresponding original index in . For any finite set of indices from the uncontracted list, the set of mapped indices is not a member of the set of contracted pairs in .
The -th uncontracted operator equals the operator at its original index
#getElem_uncontractedListEmdFor a list of field operators and a Wick contraction acting on them, let be the list of uncontracted field operators and be the embedding (the `uncontractedListEmd`) that maps an index in the list to its original index in . For any index , the -th element of the uncontracted list is equal to the element of the original list at index :
The `uncontractedListEmd` of the empty Wick contraction is the identity embedding
#uncontractedListEmd_emptyFor a list of field operators of length , let be the Wick contraction where no operators are paired. The embedding that maps the index of an operator in the uncontracted list to its original index in is the canonical identity embedding.
The list is sorted
#uncontractedList_succAboveEmb_sortedFor a Wick contraction on indices, let be the list of indices in that are not part of any contracted pair, ordered in strictly increasing order. For any index , the list obtained by applying the embedding to each element of is non-decreasingly sorted (i.e., its elements are pairwise ). The embedding maps an index to if and to if .
The list has no duplicates
#uncontractedList_succAboveEmb_nodupFor a Wick contraction on indices, let be the list of indices in that are not part of any contracted pair in , ordered in strictly increasing order. For any index , let be the embedding that maps an index to if and to if . Then the list obtained by applying to each element of contains no duplicate elements.
The list formed by ordered insertion of into the mapped uncontracted list has no duplicates
#uncontractedList_succAbove_orderedInsert_nodupFor a Wick contraction on indices, let be the list of all indices in that are not part of any contracted pair, ordered in strictly increasing order. For any index , let be the embedding that maps an index to if and to if . Then, the list obtained by performing an ordered insertion of (with respect to the relation) into the list formed by applying to each element of contains no duplicate elements.
The ordered insertion of into the mapped uncontracted list is sorted
#uncontractedList_succAbove_orderedInsert_sortedFor a Wick contraction on indices, let be the strictly increasing list of indices in that are not part of any contracted pair. For any index , let be the embedding that maps to if and to if . Then the list formed by performing an ordered insertion of (maintaining the relation) into the list obtained by applying to each element of is sorted non-decreasingly.
The set of the ordered insertion of into the mapped uncontracted list equals the insertion of into the mapped uncontracted set
#uncontractedList_succAbove_orderedInsert_toFinsetFor a Wick contraction on indices, let be the sorted list of indices that are not part of any contracted pair, and let be the set of these indices. Given an index , let be the embedding that "skips" (mapping to and to ). Then, the set of elements in the list formed by an ordered insertion of into the list of mapped uncontracted indices is equal to the set formed by inserting into the set of mapped uncontracted indices.
Ordered insertion into the mapped uncontracted list equals the sorted insertion into the mapped uncontracted set
#uncontractedList_succAbove_orderedInsert_eq_sortFor a Wick contraction on indices, let be the list of uncontracted indices in strictly increasing order, and let be the set of these indices. For any index , let be the embedding (known as `succAboveEmb`) that maps to if and to if . Then, the list obtained by performing an ordered insertion of (maintaining the relation) into the list formed by applying to each element of is equal to the list obtained by sorting the set in non-decreasing order.
Sorted uncontracted list of equals the ordered insertion of into the mapped list
#uncontractedList_extractEquiv_symm_noneFor a Wick contraction on indices, let be the list of its uncontracted indices sorted in strictly increasing order. Let be the equivalence defined by extracting the index , and let be the Wick contraction on indices formed by inserting as an uncontracted index. Then the sorted list of uncontracted indices of is given by: \[ L(c') = \text{ordered\_insert}_{\le}(i, [f_i(j) \mid j \in L(c)]) \] where is the increasing embedding that skips (mapping to if and to if ), and denotes the operation of inserting an element into a list while maintaining non-decreasing order.
Set of mapped uncontracted list with -th index erased equals mapped uncontracted set with image of -th element removed
#uncontractedList_succAboveEmb_eraseIdx_toFinsetFor a Wick contraction on indices, let be the set of indices that are not part of any contracted pair, and let be the list of these indices sorted in strictly increasing order. For any index , let be the embedding (known as `succAboveEmb`) that maps to if and to if . For any natural number less than the number of uncontracted indices, the set of elements in the list obtained by applying to and then removing the element at position is equal to the set with the element removed.
The embedded uncontracted list of a Wick contraction remains sorted after an element is removed
#uncontractedList_succAboveEmb_eraseIdx_sortedLet be a Wick contraction on indices and let be the list of indices in that are not part of any contracted pair, ordered in strictly increasing order. For any index , let be the embedding that maps an index to if and to if . For any , the list formed by applying to each element of and then removing the element at index is sorted in non-decreasing order (i.e., its elements are pairwise ).
The list with index removed has no duplicates
#uncontractedList_succAboveEmb_eraseIdx_nodupFor a Wick contraction on indices, let be the list of uncontracted indices in sorted in strictly increasing order. For any index , let be the embedding that maps to if and to if . For any natural number , the list obtained by applying to each element of and then removing the element at position contains no duplicate elements.
Erasing from the mapped uncontracted list equals sorting the erased mapped uncontracted set
#uncontractedList_succAboveEmb_eraseIdx_eq_sortLet be a Wick contraction on indices . Let be the set of uncontracted indices of , and let be the list of these indices sorted in strictly increasing order. For any index , let be the "successor-above" embedding defined by if and if . For any natural number less than the length of , the list obtained by applying to each element of and then removing the element at position is equal to the list obtained by taking the image of the set under , removing the element , and sorting the resulting set in non-decreasing order.
Uncontracted list after inserting index and contracting it with is the shifted list with erased
#uncontractedList_extractEquiv_symm_someLet be a Wick contraction on indices , and let be the list of its uncontracted indices sorted in strictly increasing order. For any index and any uncontracted index of , let be the successor-above embedding (where if and if ). Consider the Wick contraction on indices obtained by inserting the new index and contracting it with (via the inverse of the extraction equivalence ). The sorted list of uncontracted indices for this new contraction is equal to the list obtained by applying to each element of and then removing the element at the position where was originally located.
The set of the mapped uncontracted list equals the mapped uncontracted set
#uncontractedList_succAboveEmb_toFinsetFor a Wick contraction on indices, let be the sorted list of uncontracted indices and be the finite set of uncontracted indices. For any index , let be the successor-above embedding (defined as if and if ). Then, the set of elements in the list obtained by mapping over is equal to the image of under .
Number of uncontracted indices less than
#uncontractedListOrderPosGiven a Wick contraction on indices and an index , this function calculates the number of uncontracted indices in that are strictly less than . Formally, if is the sorted list of indices in that are not part of any contracted pair in , the result is the length of the sublist containing all such that . This represents the position or index at which would be inserted into to maintain its sorted order.
for a Wick contraction
#uncontractedListOrderPos_le_lengthFor a Wick contraction on indices, let be the sorted list of uncontracted indices (indices not part of any contracted pair). For any index , let be the number of uncontracted indices in that are strictly less than . Then is less than or equal to the total length of .
The First Elements of the Uncontracted List are Exactly Those Less Than
#take_uncontractedListOrderPos_eq_filterLet be a Wick contraction on indices and be the sorted list of its uncontracted indices (those indices not part of any contracted pair). For any index , let be the number of uncontracted indices strictly less than . Then, the sublist formed by the first elements of is equal to the sublist of all elements such that .
The first elements of equals the sorted set of uncontracted indices less than
#take_uncontractedListOrderPos_eq_filter_sortFor a Wick contraction on indices, let be the sorted list of uncontracted indices and be the set of uncontracted indices. For any index , let be the number of uncontracted indices strictly less than . Then, the sublist formed by the first elements of is equal to the list obtained by sorting the set of uncontracted indices in non-decreasing order.
Ordered insertion of into the shifted uncontracted list is insertion at index
#orderedInsert_succAboveEmb_uncontractedList_eq_insertIdxLet be a Wick contraction on indices and . Let be the sorted list of uncontracted indices of (those indices in that are not part of any contracted pair). Let be the embedding (`succAboveEmb`) that maps to if and to if . Let be the number of uncontracted indices in that are strictly less than . Then, the ordered insertion of into the list (preserving the order) is equal to inserting into at index . In symbols:
