This module implements some sorting list predicates.
The elements of List1 are sorted into the standard order (see Comparing terms) and any identical elements are merged, yielding List2. The time and space complexity of this operation is at worst O(N lg N) where N is the length of List1.
Usage:
List2 is the sorted list corresponding to List1.
List1 is sorted into order according to the value of the keys of its elements, yielding the list List2. No merging takes place. This predicate is stable, i.e., if an element A occurs before another element B with the same key in the input, then A will occur before B also in the output. The time and space complexity of this operation is at worst O(N lg N) where N is the length of List1.
Usage:
List2 is the (key-)sorted list corresponding to List1.
Usage:keylist(L)
L is a list of pairs of the form Key-Value.
Usage:keypair(P)
P is a pair of the form "K-_", where K is considered the key.