Well-founded sets #
A well-founded subset of an ordered type is one on which the relation <
is well-founded.
Main Definitions #
Set.WellFoundedOn s r
indicates that the relationr
is well-founded when restricted to the sets
.Set.IsWF s
indicates that<
is well-founded when restricted tos
.Set.PartiallyWellOrderedOn s r
indicates that the relationr
is partially well-ordered (also known as well quasi-ordered) when restricted to the sets
.Set.IsPWO s
indicates that any infinite sequence of elements ins
contains an infinite monotone subsequence. Note that this is equivalent to containing only two comparable elements.
Main Results #
- Higman's Lemma,
Set.PartiallyWellOrderedOn.partiallyWellOrderedOn_sublistForall₂
, shows that ifr
is partially well-ordered ons
, thenList.SublistForall₂
is partially well-ordered on the set of lists of elements ofs
. The result was originally published by Higman, but this proof more closely follows Nash-Williams. Set.wellFoundedOn_iff
relateswell_founded_on
to the well-foundedness of a relation on the original type, to avoid dealing with subtypes.Set.IsWF.mono
shows that a subset of a well-founded subset is well-founded.Set.IsWF.union
shows that the union of two well-founded subsets is well-founded.Finset.isWF
shows that allFinset
s are well-founded.
TODO #
Prove that s
is partial well ordered iff it has no infinite descending chain or antichain.
References #
- [Higman, Ordering by Divisibility in Abstract Algebras][Higman52]
- [Nash-Williams, On Well-Quasi-Ordering Finite Trees][Nash-Williams63]
Relations well-founded on sets #
s.WellFoundedOn r
indicates that the relation r
is well-founded when restricted to s
.
Equations
- s.WellFoundedOn r = WellFounded fun (a b : ↑s) => r ↑a ↑b
Instances For
a
is accessible under the relation r
iff r
is well-founded on the downward transitive
closure of a
under r
(including a
or not).
Equations
- ⋯ = ⋯
Sets well-founded w.r.t. the strict inequality #
Partially well-ordered sets #
A set is partially well-ordered by a relation r
when any infinite sequence contains two elements
where the first is related to the second by r
. Equivalently, any antichain (see IsAntichain
) is
finite, see Set.partiallyWellOrderedOn_iff_finite_antichains
.
A subset is partially well-ordered by a relation r
when any infinite sequence contains
two elements where the first is related to the second by r
.
Equations
Instances For
A subset of a preorder is partially well-ordered when any infinite sequence contains a monotone subsequence of length 2 (or equivalently, an infinite monotone subsequence).
Instances For
Set.IsWF.min
returns a minimal element of a nonempty well-founded set.
Equations
- hs.min hn = ↑(WellFounded.min hs Set.univ ⋯)
Instances For
In the context of partial well-orderings, a bad sequence is a nonincreasing sequence
whose range is contained in a particular set s
. One exists if and only if s
is not
partially well-ordered.
Equations
Instances For
This indicates that every bad sequence g
that agrees with f
on the first n
terms has rk (f n) ≤ rk (g n)
.
Equations
- Set.PartiallyWellOrderedOn.IsMinBadSeq r rk s n f = ∀ (g : ℕ → α), (∀ m < n, f m = g m) → rk (g n) < rk (f n) → ¬Set.PartiallyWellOrderedOn.IsBadSeq r s g
Instances For
Given a bad sequence f
, this constructs a bad sequence that agrees with f
on the first n
terms and is minimal at n
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Higman's Lemma, which states that for any reflexive, transitive relation r
which is
partially well-ordered on a set s
, the relation List.SublistForall₂ r
is partially
well-ordered on the set of lists of elements of s
. That relation is defined so that
List.SublistForall₂ r l₁ l₂
whenever l₁
related pointwise by r
to a sublist of l₂
.
A version of Dickson's lemma any subset of functions Π s : σ, α s
is partially well
ordered, when σ
is a Fintype
and each α s
is a linear well order.
This includes the classical case of Dickson's lemma that ℕ ^ n
is a well partial order.
Some generalizations would be possible based on this proof, to include cases where the target is
partially well ordered, and also to consider the case of Set.PartiallyWellOrderedOn
instead of
Set.IsPWO
.
Stronger version of WellFounded.prod_lex
. Instead of requiring rβ on g
to be well-founded,
we only require it to be well-founded on fibers of f
.
Stronger version of PSigma.lex_wf
. Instead of requiring rπ on g
to be well-founded, we only
require it to be well-founded on fibers of f
.