Category of partial orders #
This defines PartOrd, the category of partial orders with monotone maps.
The category of partial orders.
- of :: (
- carrier : Type u_1
The underlying partially ordered type.
- str : PartialOrder βself
- )
Instances For
@[implicit_reducible]
@[implicit_reducible]
@[implicit_reducible]
instance
PartOrd.instConcreteCategoryOrderHomCarrier :
CategoryTheory.ConcreteCategory PartOrd fun (x1 x2 : PartOrd) => βx1 βo βx2
@[reducible, inline]
Typecheck a OrderHom as a morphism in PartOrd.
Instances For
Use the ConcreteCategory.hom projection for @[simps] lemmas.
Instances For
The results below duplicate the ConcreteCategory simp lemmas, but we can keep them for dsimp.
@[simp]
@[simp]
@[simp]
theorem
PartOrd.ext
{X Y : PartOrd}
{f g : X βΆ Y}
(w : β (x : βX), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x)
:
f = g
theorem
PartOrd.ext_iff
{X Y : PartOrd}
{f g : X βΆ Y}
:
f = g β β (x : βX), (CategoryTheory.ConcreteCategory.hom f) x = (CategoryTheory.ConcreteCategory.hom g) x
@[simp]
@[simp]
theorem
PartOrd.hom_comp
{X Y Z : PartOrd}
(f : X βΆ Y)
(g : Y βΆ Z)
:
Hom.hom (CategoryTheory.CategoryStruct.comp f g) = (Hom.hom g).comp (Hom.hom f)
@[simp]
@[simp]
@[simp]
theorem
PartOrd.ofHom_id
{X : Type u}
[PartialOrder X]
:
ofHom OrderHom.id = CategoryTheory.CategoryStruct.id { carrier := X, str := instβ }
@[simp]
theorem
PartOrd.ofHom_comp
{X Y Z : Type u}
[PartialOrder X]
[PartialOrder Y]
[PartialOrder Z]
(f : X βo Y)
(g : Y βo Z)
:
ofHom (g.comp f) = CategoryTheory.CategoryStruct.comp (ofHom f) (ofHom g)
theorem
PartOrd.ofHom_apply
{X Y : Type u}
[PartialOrder X]
[PartialOrder Y]
(f : X βo Y)
(x : X)
:
(CategoryTheory.ConcreteCategory.hom (ofHom f)) x = f x
theorem
PartOrd.inv_hom_apply
{X Y : PartOrd}
(e : X β
Y)
(x : βX)
:
(CategoryTheory.ConcreteCategory.hom e.inv) ((CategoryTheory.ConcreteCategory.hom e.hom) x) = x
theorem
PartOrd.hom_inv_apply
{X Y : PartOrd}
(e : X β
Y)
(s : βY)
:
(CategoryTheory.ConcreteCategory.hom e.hom) ((CategoryTheory.ConcreteCategory.hom e.inv) s) = s
@[implicit_reducible]
Constructs an equivalence between partial orders from an order isomorphism between them.
Instances For
@[simp]
@[simp]
OrderDual as a functor.
Instances For
@[simp]
theorem
PartOrd.dual_map
{Xβ Yβ : PartOrd}
(f : Xβ βΆ Yβ)
:
dual.map f = ofHom (OrderHom.dual (Hom.hom f))
Antisymmetrization as a functor. It is the free functor.
Instances For
preordToPartOrd is left adjoint to the forgetful functor, meaning it is the free
functor from Preord to PartOrd.
Instances For
PreordToPartOrd and OrderDual commute.
Instances For
theorem
preordToPartOrdCompToDualIsoToDualCompPreordToPartOrd_hom_app_hom_coe
(X : Preord)
(a : β((preordToPartOrd.comp PartOrd.dual).obj X))
:
theorem
preordToPartOrdCompToDualIsoToDualCompPreordToPartOrd_inv_app_hom_coe
(X : Preord)
(a : β((Preord.dual.comp preordToPartOrd).obj X))
:
@[simp]
theorem
preordToPartOrdCompToDualIsoToDualCompPreordToPartOrd_inv_app_hom_coe'
(X : Preord)
(a : β(preordToPartOrd.obj (Preord.dual.obj X)))
: