Well quasi-orders #
A well quasi-order (WQO) is a relation such that any infinite sequence contains an infinite subsequence of related elements. For a preorder, this is equivalent to having a well-founded order with no infinite antichains.
Main definitions #
WellQuasiOrdered
: a predicate for WQO unbundled relationsWellQuasiOrderedLE
: a typeclass for a bundled WQO≤
relation
TODO #
- Define
Set.PartiallyWellOrderedOn
andSet.IsPWO
in terms of these predicates, and rename them to match.
Tags #
wqo, pwo, well quasi-order, partial well order, dickson order
A well quasi-order or WQO is a relation such that any infinite sequence contains an infinite
monotonic subsequence, or equivalently, two elements f m
and f n
with m < n
and
r (f m) (f n)
.
For a preorder, this is equivalent to having a well-founded order with no infinite antichains.
Despite the nomenclature, we don't require the relation to be preordered. Moreover, a well quasi-order will not in general be a well-order.
Instances For
A typeclass for an order with a well quasi-ordered ≤
relation.
Note that this is unlike WellFoundedLT
, which instead takes a <
relation.
- wqo : WellQuasiOrdered fun (x1 x2 : α) => x1 ≤ x2
Instances
A preorder is well quasi-ordered iff it's well-founded and has no infinite antichains.
A linear WQO is the same thing as a well-order.