Minimal/maximal and bottom/top elements #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines predicates for elements to be minimal/maximal or bottom/top and typeclasses saying that there are no such elements.
Predicates #
is_bot
: An element is bottom if all elements are greater than it.is_top
: An element is top if all elements are less than it.is_min
: An element is minimal if no element is strictly less than it.is_max
: An element is maximal if no element is strictly greater than it.
See also is_bot_iff_is_min
and is_top_iff_is_max
for the equivalences in a (co)directed order.
Typeclasses #
no_bot_order
: An order without bottom elements.no_top_order
: An order without top elements.no_min_order
: An order without minimal elements.no_max_order
: An order without maximal elements.
Order without bottom elements.
Instances of this typeclass
Order without top elements.
Instances of this typeclass
Order without minimal elements. Sometimes called coinitial or dense.
Instances of this typeclass
- linear_ordered_comm_group.to_no_min_order
- linear_ordered_add_comm_group.to_no_min_order
- order_dual.no_min_order
- no_min_order_of_left
- no_min_order_of_right
- pi.no_min_order
- with_top.no_min_order
- set.Iio.no_min_order
- set.Iic.no_min_order
- set.Ioo.no_min_order
- set.Ioc.no_min_order
- set.Ioi.no_min_order
- pi.lex.no_min_order
- prod.lex.no_min_order_of_left
- prod.lex.no_min_order_of_right
- sum.no_min_order
- sum.lex.no_min_order
- sum.lex.no_min_order_of_nonempty
Order without maximal elements. Sometimes called cofinal.
Instances of this typeclass
- linear_ordered_comm_group.to_no_max_order
- linear_ordered_add_comm_group.to_no_max_order
- strict_ordered_semiring.to_no_max_order
- order_dual.no_max_order
- no_max_order_of_left
- no_max_order_of_right
- pi.no_max_order
- with_bot.no_max_order
- set.Ioi.no_max_order
- set.Ici.no_max_order
- set.Ioo.no_max_order
- set.Ico.no_max_order
- set.Iio.no_max_order
- pi.lex.no_max_order
- prod.lex.no_max_order_of_left
- prod.lex.no_max_order_of_right
- cardinal.no_max_order
- sum.no_max_order
- sum.lex.no_max_order
- sum.lex.no_max_order_of_nonempty
- ordinal.no_max_order
- cardinal.α.no_max_order
- nonneg.no_max_order
a : α
is a bottom element of α
if it is less than or equal to any other element of α
.
This predicate is roughly an unbundled version of order_bot
, except that a preorder may have
several bottom elements. When α
is linear, this is useful to make a case disjunction on
no_min_order α
within a proof.
a : α
is a top element of α
if it is greater than or equal to any other element of α
.
This predicate is roughly an unbundled version of order_bot
, except that a preorder may have
several top elements. When α
is linear, this is useful to make a case disjunction on
no_max_order α
within a proof.
Alias of the reverse direction of is_bot_to_dual_iff
.
Alias of the reverse direction of is_top_to_dual_iff
.
Alias of the reverse direction of is_min_to_dual_iff
.
Alias of the reverse direction of is_max_to_dual_iff
.
Alias of the reverse direction of is_bot_of_dual_iff
.
Alias of the reverse direction of is_top_of_dual_iff
.
Alias of the reverse direction of is_min_of_dual_iff
.
Alias of the reverse direction of is_max_of_dual_iff
.
Alias of not_is_min_of_lt
.
Alias of not_is_max_of_lt
.