Minimal/maximal and bottom/top elements #
This file defines predicates for elements to be minimal/maximal or bottom/top and typeclasses saying that there are no such elements.
Predicates #
IsBot: An element is bottom if all elements are greater than it.IsTop: An element is top if all elements are less than it.IsMin: An element is minimal if no element is strictly less than it.IsMax: An element is maximal if no element is strictly greater than it.
See also isBot_iff_isMin and isTop_iff_isMax for the equivalences in a (co)directed order.
Typeclasses #
NoBotOrder: An order without bottom elements.NoTopOrder: An order without top elements.NoMinOrder: An order without minimal elements.NoMaxOrder: An order without maximal elements.
Order without bottom elements.
- exists_not_ge (a : α) : ∃ (b : α), ¬a ≤ b
For each term
a, there is somebwhich is either incomparable or strictly smaller.
Instances
Order without top elements.
- exists_not_le (a : α) : ∃ (b : α), ¬b ≤ a
For each term
a, there is somebwhich is either incomparable or strictly larger.
Instances
Order without minimal elements. Sometimes called coinitial or dense.
- exists_lt (a : α) : ∃ (b : α), b < a
For each term
a, there is some strictly smallerb.
Instances
Order without maximal elements. Sometimes called cofinal.
- exists_gt (a : α) : ∃ (b : α), a < b
For each term
a, there is some strictly greaterb.
Instances
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 OrderBot, except that a preorder may have
several bottom elements. When α is linear, this is useful to make a case disjunction on
NoMinOrder α within a proof.
Instances For
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 OrderBot, except that a preorder may have
several top elements. When α is linear, this is useful to make a case disjunction on
NoMaxOrder α within a proof.
Instances For
a is a minimal element of α if no element is strictly less than it. We spell it without <
to avoid having to convert between ≤ and <. Instead, isMin_iff_forall_not_lt does the
conversion.
Instances For
a is a maximal element of α if no element is strictly greater than it. We spell it without
< to avoid having to convert between ≤ and <. Instead, isMax_iff_forall_not_lt does the
conversion.
Instances For
Alias of the reverse direction of isBot_toDual_iff.
Alias of the reverse direction of isMin_toDual_iff.
Alias of the reverse direction of isBot_ofDual_iff.
Alias of the reverse direction of isMin_ofDual_iff.
Alias of not_isMin_of_lt.