@@ -5,6 +5,7 @@ Authors: Johan Commelin
55-/
66import data.fintype.order
77import data.set.finite
8+ import order.category.FinPartOrd
89import order.category.LinOrd
910import category_theory.limits.shapes.images
1011import category_theory.limits.shapes.regular_mono
@@ -17,6 +18,9 @@ import category_theory.limits.shapes.regular_mono
1718
1819This defines `NonemptyFinLinOrd`, the category of nonempty finite linear orders with monotone maps.
1920This is the index category for simplicial objects.
21+
22+ Note: `NonemptyFinLinOrd` is *not* a subcategory of `FinBddDistLat` because its morphisms do not
23+ preserve `⊥` and `⊤`.
2024-/
2125
2226universes u v
@@ -68,6 +72,9 @@ instance (α : NonemptyFinLinOrd) : nonempty_fin_lin_ord α := α.str
6872instance has_forget_to_LinOrd : has_forget₂ NonemptyFinLinOrd LinOrd :=
6973bundled_hom.forget₂ _ _
7074
75+ instance has_forget_to_FinPartOrd : has_forget₂ NonemptyFinLinOrd FinPartOrd :=
76+ { forget₂ := { obj := λ X, FinPartOrd.of X, map := λ X Y, id } }
77+
7178/-- Constructs an equivalence between nonempty finite linear orders from an order isomorphism
7279between them. -/
7380@[simps] def iso.mk {α β : NonemptyFinLinOrd.{u}} (e : α ≃o β) : α ≅ β :=
@@ -80,7 +87,7 @@ between them. -/
8087@[simps] def dual : NonemptyFinLinOrd ⥤ NonemptyFinLinOrd :=
8188{ obj := λ X, of Xᵒᵈ, map := λ X Y, order_hom.dual }
8289
83- /-- The equivalence between `FinPartOrd ` and itself induced by `order_dual` both ways. -/
90+ /-- The equivalence between `NonemptyFinLinOrd ` and itself induced by `order_dual` both ways. -/
8491@[simps functor inverse] def dual_equiv : NonemptyFinLinOrd ≌ NonemptyFinLinOrd :=
8592equivalence.mk dual dual
8693 (nat_iso.of_components (λ X, iso.mk $ order_iso.dual_dual X) $ λ X Y f, rfl)
@@ -182,3 +189,9 @@ end NonemptyFinLinOrd
182189lemma NonemptyFinLinOrd_dual_comp_forget_to_LinOrd :
183190 NonemptyFinLinOrd.dual ⋙ forget₂ NonemptyFinLinOrd LinOrd =
184191 forget₂ NonemptyFinLinOrd LinOrd ⋙ LinOrd.dual := rfl
192+
193+ /-- The forgetful functor `NonemptyFinLinOrd ⥤ FinPartOrd` and `order_dual` commute. -/
194+ def NonemptyFinLinOrd_dual_comp_forget_to_FinPartOrd :
195+ NonemptyFinLinOrd.dual ⋙ forget₂ NonemptyFinLinOrd FinPartOrd ≅
196+ forget₂ NonemptyFinLinOrd FinPartOrd ⋙ FinPartOrd.dual :=
197+ { hom := { app := λ X, order_hom.id }, inv := { app := λ X, order_hom.id } }
0 commit comments