Well-founded relations #
A relation is well-founded if it can be used for induction: for each x, (∀ y, r y x → P y) → P x
implies P x. Well-founded relations can be used for induction and recursion, including
construction of fixed points in the space of dependent functions Π x : α, β x.
The predicate WellFounded is defined in the core library. In this file we prove some extra lemmas
and provide a few new definitions: WellFounded.min, WellFounded.sup, and WellFounded.succ,
and an induction principle WellFounded.induction_bot.
A relation is well-founded iff it doesn't have any infinite descending chain.
See RelEmbedding.wellFounded_iff_isEmpty for a version in terms of relation embeddings.
If r is a well-founded relation, then any nonempty set has a minimal element
with respect to r.
A minimal element of a nonempty set in a well-founded order.
If you're working with a nonempty linear order, consider defining a
ConditionallyCompleteLinearOrderBot instance via
WellFoundedLT.conditionallyCompleteLinearOrderBot and using Inf instead.
Equations
- H.min s h = Classical.choose ⋯
Instances For
Alias of wellFounded_iff_isEmpty_descending_chain.
A relation is well-founded iff it doesn't have any infinite descending chain.
See RelEmbedding.wellFounded_iff_isEmpty for a version in terms of relation embeddings.
The supremum of a bounded, well-founded order
Instances For
A strictly monotone function f on a well-order satisfies x ≤ f x for all x.
A strictly monotone function f on a cowell-order satisfies f x ≤ x for all x.
Given a function f : α → β where β carries a well-founded <, this is an element of α
whose image under f is minimal in the sense of Function.not_lt_argmin.
Equations
- Function.argmin f = ⋯.min Set.univ ⋯
Instances For
Given a function f : α → β where β carries a well-founded <, and a non-empty subset s
of α, this is an element of s whose image under f is minimal in the sense of
Function.not_lt_argminOn.
Equations
- Function.argminOn f s hs = ⋯.min s hs
Instances For
Let r be a relation on α, let f : α → β be a function, let C : β → Prop, and
let bot : α. This induction principle shows that C (f bot) holds, given that
- some
athat is accessible byrsatisfiesC (f a), and - for each
bsuch thatf b ≠ f botandC (f b)holds, there iscsatisfyingr c bandC (f c).
Let r be a relation on α, let C : α → Prop and let bot : α.
This induction principle shows that C bot holds, given that
- some
athat is accessible byrsatisfiesC a, and - for each
b ≠ botsuch thatC bholds, there iscsatisfyingr c bandC c.
Let r be a well-founded relation on α, let f : α → β be a function,
let C : β → Prop, and let bot : α.
This induction principle shows that C (f bot) holds, given that
- some
asatisfiesC (f a), and - for each
bsuch thatf b ≠ f botandC (f b)holds, there iscsatisfyingr c bandC (f c).
Let r be a well-founded relation on α, let C : α → Prop, and let bot : α.
This induction principle shows that C bot holds, given that
- some
asatisfiesC a, and - for each
bthat satisfiesC b, there iscsatisfyingr c bandC c.
The naming is inspired by the fact that when r is transitive, it follows that bot is
the smallest element w.r.t. r that satisfies C.
A nonempty linear order with well-founded < has a bottom element.
Instances For
A nonempty linear order with well-founded > has a top element.