Orders #
Defines classes for preorders and partial orders and proves some basic lemmas about them.
We also define covering relations on a preorder.
We say that b
covers a
if a < b
and there is no element in between.
We say that b
weakly covers a
if a ≤ b
and there is no element between a
and b
.
In a partial order this is equivalent to a ⋖ b ∨ a = b
,
in a preorder this is equivalent to a ⋖ b ∨ (a ≤ b ∧ b ≤ a)
Notation #
a ⋖ b
means thatb
coversa
.a ⩿ b
means thatb
weakly coversa
.
A preorder is a reflexive, transitive relation ≤
with a < b
defined in the obvious way.
Instances
Alias of not_le_of_lt
.
Alias of not_lt_of_le
.
<
is decidable if ≤
is.
Equations
Instances For
Notation for WCovBy a b
.
Equations
- «term_⩿_» = Lean.ParserDescr.trailingNode `«term_⩿_» 50 50 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⩿ ") (Lean.ParserDescr.cat `term 51))
Instances For
Notation for CovBy a b
.
Equations
- «term_⋖_» = Lean.ParserDescr.trailingNode `«term_⋖_» 50 50 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ⋖ ") (Lean.ParserDescr.cat `term 51))
Instances For
Definition of PartialOrder
and lemmas about types with a partial order #
A partial order is a reflexive, transitive, antisymmetric relation ≤
.
Instances
Alias of le_antisymm
.
Equality is decidable if ≤
is.
Equations
Instances For
theorem
Decidable.lt_or_eq_of_le
{α : Type u_1}
[PartialOrder α]
{a b : α}
[DecidableLE α]
(hab : a ≤ b)
:
theorem
Decidable.eq_or_lt_of_le
{α : Type u_1}
[PartialOrder α]
{a b : α}
[DecidableLE α]
(hab : a ≤ b)
: