Preorders as categories #
We install a category instance on any preorder. This is not to be confused with the category of
preorders, defined in Order.Category.Preorder
.
We show that monotone functions between preorders correspond to functors of the associated categories.
Main definitions #
homOfLE
andleOfHom
provide translations between inequalities in the preorder, and morphisms in the associated category.Monotone.functor
is the functor associated to a monotone function.
The category structure coming from a preorder. There is a morphism X ⟶ Y
if and only if X ≤ Y
.
Because we don't allow morphisms to live in Prop
,
we have to define X ⟶ Y
as ULift (PLift (X ≤ Y))
.
See CategoryTheory.homOfLE
and CategoryTheory.leOfHom
.
Equations
Express an inequality as a morphism in the corresponding preorder category.
Equations
- CategoryTheory.homOfLE h = { down := { down := h } }
Instances For
Extract the underlying inequality from a morphism in a preorder category.
Equations
Instances For
Construct a morphism in the opposite of a preorder category from an inequality.
Equations
Instances For
Equations
- CategoryTheory.uniqueToTop = { default := CategoryTheory.homOfLE ⋯, uniq := ⋯ }
Equations
- CategoryTheory.uniqueFromBot = { default := CategoryTheory.homOfLE ⋯, uniq := ⋯ }
A monotone function between preorders induces a functor between the associated categories.
Equations
- h.functor = { obj := f, map := fun {X_1 Y_1 : X} (g : X_1 ⟶ Y_1) => CategoryTheory.homOfLE ⋯, map_id := ⋯, map_comp := ⋯ }
Instances For
A categorical equivalence between partial orders is just an order isomorphism.