Turning a preorder into a partial order #
This file allows to make a preorder into a partial order by quotienting out the elements a
, b
such that a ≤ b
and b ≤ a
.
Antisymmetrization
is a functor from Preorder
to PartialOrder
. See Preorder_to_PartialOrder
.
Main declarations #
AntisymmRel
: The antisymmetrization relation.AntisymmRel r a b
means thata
andb
are related both ways byr
.Antisymmetrization α r
: The quotient ofα
byAntisymmRel r
. Even whenr
is just a preorder,Antisymmetrization α
is a partial order.
Equations
- AntisymmRel.decidableRel x x = instDecidableAnd
Alias of the forward direction of antisymmRel_iff_eq
.
The antisymmetrization relation as an equivalence relation.
Equations
- AntisymmRel.setoid α r = { r := AntisymmRel r, iseqv := (_ : Equivalence (AntisymmRel r)) }
Instances For
The partial order derived from a preorder by making pairwise comparable elements equal. This is
the quotient by fun a b => a ≤ b ∧ b ≤ a
.
Equations
- Antisymmetrization α r = Quotient (AntisymmRel.setoid α r)
Instances For
Turn an element into its antisymmetrization.
Equations
Instances For
Get a representative from the antisymmetrization.
Equations
- ofAntisymmetrization r = Quotient.out'
Instances For
Equations
- instInhabitedAntisymmetrization r = id inferInstance
Equations
- instPartialOrderAntisymmetrization = PartialOrder.mk (_ : ∀ (a b : Antisymmetrization α fun x x_1 => x ≤ x_1), a ≤ b → b ≤ a → a = b)
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Turns an order homomorphism from α
to β
into one from Antisymmetrization α
to
Antisymmetrization β
. Antisymmetrization
is actually a functor. See Preorder_to_PartialOrder
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
ofAntisymmetrization
as an order embedding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Antisymmetrization
and orderDual
commute.
Equations
- One or more equations did not get rendered due to their size.