order.category.FinPartOrd
⟷
Mathlib.Order.Category.FinPartOrd
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-/
-import CategoryTheory.Fintype
+import CategoryTheory.FintypeCat
import Order.Category.PartOrd
#align_import order.category.FinPartOrd from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-/
-import Mathbin.CategoryTheory.Fintype
-import Mathbin.Order.Category.PartOrd
+import CategoryTheory.Fintype
+import Order.Category.PartOrd
#align_import order.category.FinPartOrd from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
@@ -32,7 +32,7 @@ open CategoryTheory
#print FinPartOrd /-
/-- The category of finite partial orders with monotone functions. -/
structure FinPartOrd where
- toPartOrd : PartOrdCat
+ toPartOrd : PartOrd
[isFintype : Fintype to_PartOrd]
#align FinPartOrd FinPartOrd
-/
@@ -81,10 +81,10 @@ instance concreteCategory : ConcreteCategory FinPartOrd :=
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
-/
-#print FinPartOrd.hasForgetToPartOrdCat /-
-instance hasForgetToPartOrdCat : HasForget₂ FinPartOrd PartOrdCat :=
+#print FinPartOrd.hasForgetToPartOrd /-
+instance hasForgetToPartOrd : HasForget₂ FinPartOrd PartOrd :=
InducedCategory.hasForget₂ FinPartOrd.toPartOrd
-#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrdCat
+#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrd
-/
#print FinPartOrd.hasForgetToFintype /-
@@ -128,11 +128,10 @@ def dualEquiv : FinPartOrd ≌ FinPartOrd :=
end FinPartOrd
-#print FinPartOrd_dual_comp_forget_to_partOrdCat /-
-theorem FinPartOrd_dual_comp_forget_to_partOrdCat :
- FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrdCat =
- forget₂ FinPartOrd PartOrdCat ⋙ PartOrdCat.dual :=
+#print FinPartOrd_dual_comp_forget_to_partOrd /-
+theorem FinPartOrd_dual_comp_forget_to_partOrd :
+ FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrd = forget₂ FinPartOrd PartOrd ⋙ PartOrd.dual :=
rfl
-#align FinPartOrd_dual_comp_forget_to_PartOrd FinPartOrd_dual_comp_forget_to_partOrdCat
+#align FinPartOrd_dual_comp_forget_to_PartOrd FinPartOrd_dual_comp_forget_to_partOrd
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module order.category.FinPartOrd
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Fintype
import Mathbin.Order.Category.PartOrd
+#align_import order.category.FinPartOrd from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
/-!
# The category of finite partial orders
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -84,15 +84,19 @@ instance concreteCategory : ConcreteCategory FinPartOrd :=
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
-/
+#print FinPartOrd.hasForgetToPartOrdCat /-
instance hasForgetToPartOrdCat : HasForget₂ FinPartOrd PartOrdCat :=
InducedCategory.hasForget₂ FinPartOrd.toPartOrd
#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrdCat
+-/
+#print FinPartOrd.hasForgetToFintype /-
instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => coeFn }
#align FinPartOrd.has_forget_to_Fintype FinPartOrd.hasForgetToFintype
+-/
#print FinPartOrd.Iso.mk /-
/-- Constructs an isomorphism of finite partial orders from an order isomorphism between them. -/
@@ -115,6 +119,7 @@ def dual : FinPartOrd ⥤ FinPartOrd where
#align FinPartOrd.dual FinPartOrd.dual
-/
+#print FinPartOrd.dualEquiv /-
/-- The equivalence between `FinPartOrd` and itself induced by `order_dual` both ways. -/
@[simps Functor inverse]
def dualEquiv : FinPartOrd ≌ FinPartOrd :=
@@ -122,6 +127,7 @@ def dualEquiv : FinPartOrd ≌ FinPartOrd :=
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
(NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun X Y f => rfl)
#align FinPartOrd.dual_equiv FinPartOrd.dualEquiv
+-/
end FinPartOrd
mathlib commit https://github.com/leanprover-community/mathlib/commit/c471da714c044131b90c133701e51b877c246677
@@ -84,19 +84,15 @@ instance concreteCategory : ConcreteCategory FinPartOrd :=
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
-/
-#print FinPartOrd.hasForgetToPartOrdCat /-
instance hasForgetToPartOrdCat : HasForget₂ FinPartOrd PartOrdCat :=
InducedCategory.hasForget₂ FinPartOrd.toPartOrd
#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrdCat
--/
-#print FinPartOrd.hasForgetToFintype /-
instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => coeFn }
#align FinPartOrd.has_forget_to_Fintype FinPartOrd.hasForgetToFintype
--/
#print FinPartOrd.Iso.mk /-
/-- Constructs an isomorphism of finite partial orders from an order isomorphism between them. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -50,12 +50,10 @@ instance (X : FinPartOrd) : PartialOrder X :=
attribute [instance] FinPartOrd.isFintype
-/- warning: FinPartOrd.coe_to_PartOrd clashes with [anonymous] -> [anonymous]
-Case conversion may be inaccurate. Consider using '#align FinPartOrd.coe_to_PartOrd [anonymous]ₓ'. -/
@[simp]
-theorem [anonymous] (X : FinPartOrd) : ↥X.toPartOrd = ↥X :=
+theorem coe_toPartOrd (X : FinPartOrd) : ↥X.toPartOrd = ↥X :=
rfl
-#align FinPartOrd.coe_to_PartOrd [anonymous]
+#align FinPartOrd.coe_to_PartOrd FinPartOrd.coe_toPartOrd
#print FinPartOrd.of /-
/-- Construct a bundled `FinPartOrd` from `fintype` + `partial_order`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -100,6 +100,7 @@ instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat
#align FinPartOrd.has_forget_to_Fintype FinPartOrd.hasForgetToFintype
-/
+#print FinPartOrd.Iso.mk /-
/-- Constructs an isomorphism of finite partial orders from an order isomorphism between them. -/
@[simps]
def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
@@ -109,6 +110,7 @@ def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
hom_inv_id' := by ext; exact e.symm_apply_apply _
inv_hom_id' := by ext; exact e.apply_symm_apply _
#align FinPartOrd.iso.mk FinPartOrd.Iso.mk
+-/
#print FinPartOrd.dual /-
/-- `order_dual` as a functor. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -51,11 +51,6 @@ instance (X : FinPartOrd) : PartialOrder X :=
attribute [instance] FinPartOrd.isFintype
/- warning: FinPartOrd.coe_to_PartOrd clashes with [anonymous] -> [anonymous]
-warning: FinPartOrd.coe_to_PartOrd -> [anonymous] is a dubious translation:
-lean 3 declaration is
- forall (X : FinPartOrd.{u_1}), Eq.{succ (succ u_1)} Type.{u_1} (coeSort.{succ (succ u_1), succ (succ u_1)} PartOrdCat.{u_1} Type.{u_1} PartOrdCat.hasCoeToSort.{u_1} (FinPartOrd.toPartOrd.{u_1} X)) (coeSort.{succ (succ u_1), succ (succ u_1)} FinPartOrd.{u_1} Type.{u_1} FinPartOrd.hasCoeToSort.{u_1} X)
-but is expected to have type
- forall {X : Type.{u}} {β : Type.{v}}, (Nat -> X -> β) -> Nat -> (List.{u} X) -> (List.{v} β)
Case conversion may be inaccurate. Consider using '#align FinPartOrd.coe_to_PartOrd [anonymous]ₓ'. -/
@[simp]
theorem [anonymous] (X : FinPartOrd) : ↥X.toPartOrd = ↥X :=
@@ -105,12 +100,6 @@ instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat
#align FinPartOrd.has_forget_to_Fintype FinPartOrd.hasForgetToFintype
-/
-/- warning: FinPartOrd.iso.mk -> FinPartOrd.Iso.mk is a dubious translation:
-lean 3 declaration is
- forall {α : FinPartOrd.{u1}} {β : FinPartOrd.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (FinPartOrd.partialOrder.{u1} α))) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (FinPartOrd.partialOrder.{u1} β)))) -> (CategoryTheory.Iso.{u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} α β)
-but is expected to have type
- forall {α : FinPartOrd.{u1}} {β : FinPartOrd.{u1}}, (OrderIso.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (FinPartOrd.instPartialOrderαToPartOrdCat.{u1} α))) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (FinPartOrd.instPartialOrderαToPartOrdCat.{u1} β)))) -> (CategoryTheory.Iso.{u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} α β)
-Case conversion may be inaccurate. Consider using '#align FinPartOrd.iso.mk FinPartOrd.Iso.mkₓ'. -/
/-- Constructs an isomorphism of finite partial orders from an order isomorphism between them. -/
@[simps]
def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
@@ -130,12 +119,6 @@ def dual : FinPartOrd ⥤ FinPartOrd where
#align FinPartOrd.dual FinPartOrd.dual
-/
-/- warning: FinPartOrd.dual_equiv -> FinPartOrd.dualEquiv is a dubious translation:
-lean 3 declaration is
- CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1}
-but is expected to have type
- CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} FinPartOrd.{u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} FinPartOrd.largeCategory.{u1}
-Case conversion may be inaccurate. Consider using '#align FinPartOrd.dual_equiv FinPartOrd.dualEquivₓ'. -/
/-- The equivalence between `FinPartOrd` and itself induced by `order_dual` both ways. -/
@[simps Functor inverse]
def dualEquiv : FinPartOrd ≌ FinPartOrd :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -117,12 +117,8 @@ def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
where
Hom := e
inv := e.symm
- hom_inv_id' := by
- ext
- exact e.symm_apply_apply _
- inv_hom_id' := by
- ext
- exact e.apply_symm_apply _
+ hom_inv_id' := by ext; exact e.symm_apply_apply _
+ inv_hom_id' := by ext; exact e.apply_symm_apply _
#align FinPartOrd.iso.mk FinPartOrd.Iso.mk
#print FinPartOrd.dual /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
! This file was ported from Lean 3 source module order.category.FinPartOrd
-! leanprover-community/mathlib commit 937b1c59c58710ef8ed91f8727ef402d49d621a2
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Order.Category.PartOrd
/-!
# The category of finite partial orders
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This defines `FinPartOrd`, the category of finite partial orders.
Note: `FinPartOrd` is *not* a subcategory of `BddOrd` because finite orders are not necessarily
@@ -29,11 +32,13 @@ universe u v
open CategoryTheory
+#print FinPartOrd /-
/-- The category of finite partial orders with monotone functions. -/
structure FinPartOrd where
toPartOrd : PartOrdCat
[isFintype : Fintype to_PartOrd]
#align FinPartOrd FinPartOrd
+-/
namespace FinPartOrd
@@ -45,42 +50,67 @@ instance (X : FinPartOrd) : PartialOrder X :=
attribute [instance] FinPartOrd.isFintype
+/- warning: FinPartOrd.coe_to_PartOrd clashes with [anonymous] -> [anonymous]
+warning: FinPartOrd.coe_to_PartOrd -> [anonymous] is a dubious translation:
+lean 3 declaration is
+ forall (X : FinPartOrd.{u_1}), Eq.{succ (succ u_1)} Type.{u_1} (coeSort.{succ (succ u_1), succ (succ u_1)} PartOrdCat.{u_1} Type.{u_1} PartOrdCat.hasCoeToSort.{u_1} (FinPartOrd.toPartOrd.{u_1} X)) (coeSort.{succ (succ u_1), succ (succ u_1)} FinPartOrd.{u_1} Type.{u_1} FinPartOrd.hasCoeToSort.{u_1} X)
+but is expected to have type
+ forall {X : Type.{u}} {β : Type.{v}}, (Nat -> X -> β) -> Nat -> (List.{u} X) -> (List.{v} β)
+Case conversion may be inaccurate. Consider using '#align FinPartOrd.coe_to_PartOrd [anonymous]ₓ'. -/
@[simp]
-theorem coe_toPartOrd (X : FinPartOrd) : ↥X.toPartOrd = ↥X :=
+theorem [anonymous] (X : FinPartOrd) : ↥X.toPartOrd = ↥X :=
rfl
-#align FinPartOrd.coe_to_PartOrd FinPartOrd.coe_toPartOrd
+#align FinPartOrd.coe_to_PartOrd [anonymous]
+#print FinPartOrd.of /-
/-- Construct a bundled `FinPartOrd` from `fintype` + `partial_order`. -/
def of (α : Type _) [PartialOrder α] [Fintype α] : FinPartOrd :=
⟨⟨α⟩⟩
#align FinPartOrd.of FinPartOrd.of
+-/
+#print FinPartOrd.coe_of /-
@[simp]
theorem coe_of (α : Type _) [PartialOrder α] [Fintype α] : ↥(of α) = α :=
rfl
#align FinPartOrd.coe_of FinPartOrd.coe_of
+-/
instance : Inhabited FinPartOrd :=
⟨of PUnit⟩
+#print FinPartOrd.largeCategory /-
instance largeCategory : LargeCategory FinPartOrd :=
InducedCategory.category FinPartOrd.toPartOrd
#align FinPartOrd.large_category FinPartOrd.largeCategory
+-/
+#print FinPartOrd.concreteCategory /-
instance concreteCategory : ConcreteCategory FinPartOrd :=
InducedCategory.concreteCategory FinPartOrd.toPartOrd
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
+-/
-instance hasForgetToPartOrd : HasForget₂ FinPartOrd PartOrdCat :=
+#print FinPartOrd.hasForgetToPartOrdCat /-
+instance hasForgetToPartOrdCat : HasForget₂ FinPartOrd PartOrdCat :=
InducedCategory.hasForget₂ FinPartOrd.toPartOrd
-#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrd
+#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrdCat
+-/
+#print FinPartOrd.hasForgetToFintype /-
instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat
where forget₂ :=
{ obj := fun X => ⟨X⟩
map := fun X Y => coeFn }
#align FinPartOrd.has_forget_to_Fintype FinPartOrd.hasForgetToFintype
+-/
+/- warning: FinPartOrd.iso.mk -> FinPartOrd.Iso.mk is a dubious translation:
+lean 3 declaration is
+ forall {α : FinPartOrd.{u1}} {β : FinPartOrd.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} α) (FinPartOrd.partialOrder.{u1} α))) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} FinPartOrd.{u1} Type.{u1} FinPartOrd.hasCoeToSort.{u1} β) (FinPartOrd.partialOrder.{u1} β)))) -> (CategoryTheory.Iso.{u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} α β)
+but is expected to have type
+ forall {α : FinPartOrd.{u1}} {β : FinPartOrd.{u1}}, (OrderIso.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} α)) (FinPartOrd.instPartialOrderαToPartOrdCat.{u1} α))) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} PartialOrder.{u1} (FinPartOrd.toPartOrdCat.{u1} β)) (FinPartOrd.instPartialOrderαToPartOrdCat.{u1} β)))) -> (CategoryTheory.Iso.{u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} α β)
+Case conversion may be inaccurate. Consider using '#align FinPartOrd.iso.mk FinPartOrd.Iso.mkₓ'. -/
/-- Constructs an isomorphism of finite partial orders from an order isomorphism between them. -/
@[simps]
def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
@@ -95,13 +125,21 @@ def Iso.mk {α β : FinPartOrd.{u}} (e : α ≃o β) : α ≅ β
exact e.apply_symm_apply _
#align FinPartOrd.iso.mk FinPartOrd.Iso.mk
+#print FinPartOrd.dual /-
/-- `order_dual` as a functor. -/
@[simps]
def dual : FinPartOrd ⥤ FinPartOrd where
obj X := of Xᵒᵈ
map X Y := OrderHom.dual
#align FinPartOrd.dual FinPartOrd.dual
+-/
+/- warning: FinPartOrd.dual_equiv -> FinPartOrd.dualEquiv is a dubious translation:
+lean 3 declaration is
+ CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1}
+but is expected to have type
+ CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} FinPartOrd.{u1} FinPartOrd.{u1} FinPartOrd.largeCategory.{u1} FinPartOrd.largeCategory.{u1}
+Case conversion may be inaccurate. Consider using '#align FinPartOrd.dual_equiv FinPartOrd.dualEquivₓ'. -/
/-- The equivalence between `FinPartOrd` and itself induced by `order_dual` both ways. -/
@[simps Functor inverse]
def dualEquiv : FinPartOrd ≌ FinPartOrd :=
@@ -112,9 +150,11 @@ def dualEquiv : FinPartOrd ≌ FinPartOrd :=
end FinPartOrd
-theorem finPartOrd_dual_comp_forget_to_partOrdCat :
+#print FinPartOrd_dual_comp_forget_to_partOrdCat /-
+theorem FinPartOrd_dual_comp_forget_to_partOrdCat :
FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrdCat =
forget₂ FinPartOrd PartOrdCat ⋙ PartOrdCat.dual :=
rfl
-#align FinPartOrd_dual_comp_forget_to_PartOrd finPartOrd_dual_comp_forget_to_partOrdCat
+#align FinPartOrd_dual_comp_forget_to_PartOrd FinPartOrd_dual_comp_forget_to_partOrdCat
+-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/d4437c68c8d350fc9d4e95e1e174409db35e30d7
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
! This file was ported from Lean 3 source module order.category.FinPartOrd
-! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
+! leanprover-community/mathlib commit 937b1c59c58710ef8ed91f8727ef402d49d621a2
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -16,8 +16,8 @@ import Mathbin.Order.Category.PartOrd
This defines `FinPartOrd`, the category of finite partial orders.
-Note: `FinPartOrd` is NOT a subcategory of `BddOrd` because its morphisms do not
-preserve `⊥` and `⊤`.
+Note: `FinPartOrd` is *not* a subcategory of `BddOrd` because finite orders are not necessarily
+bounded.
## TODO
mathlib commit https://github.com/leanprover-community/mathlib/commit/1a4df69ca1a9a0e5e26bfe12e2b92814216016d0
@@ -31,7 +31,7 @@ open CategoryTheory
/-- The category of finite partial orders with monotone functions. -/
structure FinPartOrd where
- toPartOrd : PartOrd
+ toPartOrd : PartOrdCat
[isFintype : Fintype to_PartOrd]
#align FinPartOrd FinPartOrd
@@ -71,7 +71,7 @@ instance concreteCategory : ConcreteCategory FinPartOrd :=
InducedCategory.concreteCategory FinPartOrd.toPartOrd
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
-instance hasForgetToPartOrd : HasForget₂ FinPartOrd PartOrd :=
+instance hasForgetToPartOrd : HasForget₂ FinPartOrd PartOrdCat :=
InducedCategory.hasForget₂ FinPartOrd.toPartOrd
#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrd
@@ -112,8 +112,9 @@ def dualEquiv : FinPartOrd ≌ FinPartOrd :=
end FinPartOrd
-theorem finPartOrd_dual_comp_forget_to_partOrd :
- FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrd = forget₂ FinPartOrd PartOrd ⋙ PartOrd.dual :=
+theorem finPartOrd_dual_comp_forget_to_partOrdCat :
+ FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrdCat =
+ forget₂ FinPartOrd PartOrdCat ⋙ PartOrdCat.dual :=
rfl
-#align FinPartOrd_dual_comp_forget_to_PartOrd finPartOrd_dual_comp_forget_to_partOrd
+#align FinPartOrd_dual_comp_forget_to_PartOrd finPartOrd_dual_comp_forget_to_partOrdCat
mathlib commit https://github.com/leanprover-community/mathlib/commit/b685f506164f8d17a6404048bc4d696739c5d976
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-/
import Mathlib.CategoryTheory.FintypeCat
-import Mathlib.Order.Category.PartOrdCat
+import Mathlib.Order.Category.PartOrd
#align_import order.category.FinPartOrd from "leanprover-community/mathlib"@"937b1c59c58710ef8ed91f8727ef402d49d621a2"
@@ -30,17 +30,17 @@ set_option linter.uppercaseLean3 false -- `FinPartOrd`
/-- The category of finite partial orders with monotone functions. -/
structure FinPartOrd where
- toPartOrdCat : PartOrdCat
- [isFintype : Fintype toPartOrdCat]
+ toPartOrd : PartOrd
+ [isFintype : Fintype toPartOrd]
#align FinPartOrd FinPartOrd
namespace FinPartOrd
instance : CoeSort FinPartOrd (Type*) :=
- ⟨fun X => X.toPartOrdCat⟩
+ ⟨fun X => X.toPartOrd⟩
instance (X : FinPartOrd) : PartialOrder X :=
- X.toPartOrdCat.str
+ X.toPartOrd.str
attribute [instance] FinPartOrd.isFintype
@@ -60,16 +60,16 @@ instance : Inhabited FinPartOrd :=
⟨of PUnit⟩
instance largeCategory : LargeCategory FinPartOrd :=
- InducedCategory.category FinPartOrd.toPartOrdCat
+ InducedCategory.category FinPartOrd.toPartOrd
#align FinPartOrd.large_category FinPartOrd.largeCategory
instance concreteCategory : ConcreteCategory FinPartOrd :=
- InducedCategory.concreteCategory FinPartOrd.toPartOrdCat
+ InducedCategory.concreteCategory FinPartOrd.toPartOrd
#align FinPartOrd.concrete_category FinPartOrd.concreteCategory
-instance hasForgetToPartOrdCat : HasForget₂ FinPartOrd PartOrdCat :=
- InducedCategory.hasForget₂ FinPartOrd.toPartOrdCat
-#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrdCat
+instance hasForgetToPartOrd : HasForget₂ FinPartOrd PartOrd :=
+ InducedCategory.hasForget₂ FinPartOrd.toPartOrd
+#align FinPartOrd.has_forget_to_PartOrd FinPartOrd.hasForgetToPartOrd
instance hasForgetToFintype : HasForget₂ FinPartOrd FintypeCat where
forget₂ :=
@@ -108,7 +108,7 @@ def dualEquiv : FinPartOrd ≌ FinPartOrd :=
end FinPartOrd
-theorem FinPartOrd_dual_comp_forget_to_partOrdCat :
- FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrdCat =
- forget₂ FinPartOrd PartOrdCat ⋙ PartOrdCat.dual := rfl
-#align FinPartOrd_dual_comp_forget_to_PartOrd FinPartOrd_dual_comp_forget_to_partOrdCat
+theorem FinPartOrd_dual_comp_forget_to_partOrd :
+ FinPartOrd.dual ⋙ forget₂ FinPartOrd PartOrd =
+ forget₂ FinPartOrd PartOrd ⋙ PartOrd.dual := rfl
+#align FinPartOrd_dual_comp_forget_to_PartOrd FinPartOrd_dual_comp_forget_to_partOrd
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -36,7 +36,7 @@ structure FinPartOrd where
namespace FinPartOrd
-instance : CoeSort FinPartOrd (Type _) :=
+instance : CoeSort FinPartOrd (Type*) :=
⟨fun X => X.toPartOrdCat⟩
instance (X : FinPartOrd) : PartialOrder X :=
@@ -48,12 +48,12 @@ attribute [instance] FinPartOrd.isFintype
#noalign FinPartOrd.coe_to_PartOrd
/-- Construct a bundled `FinPartOrd` from `PartialOrder` + `Fintype`. -/
-def of (α : Type _) [PartialOrder α] [Fintype α] : FinPartOrd :=
+def of (α : Type*) [PartialOrder α] [Fintype α] : FinPartOrd :=
⟨⟨α, inferInstance⟩⟩
#align FinPartOrd.of FinPartOrd.of
@[simp]
-theorem coe_of (α : Type _) [PartialOrder α] [Fintype α] : ↥(of α) = α := rfl
+theorem coe_of (α : Type*) [PartialOrder α] [Fintype α] : ↥(of α) = α := rfl
#align FinPartOrd.coe_of FinPartOrd.coe_of
instance : Inhabited FinPartOrd :=
@@ -2,15 +2,12 @@
Copyright (c) 2022 Yaël Dillies. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yaël Dillies
-
-! This file was ported from Lean 3 source module order.category.FinPartOrd
-! leanprover-community/mathlib commit 937b1c59c58710ef8ed91f8727ef402d49d621a2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.FintypeCat
import Mathlib.Order.Category.PartOrdCat
+#align_import order.category.FinPartOrd from "leanprover-community/mathlib"@"937b1c59c58710ef8ed91f8727ef402d49d621a2"
+
/-!
# The category of finite partial orders
@@ -105,8 +105,8 @@ def dual : FinPartOrd ⥤ FinPartOrd where
@[simps! functor inverse]
def dualEquiv : FinPartOrd ≌ FinPartOrd :=
CategoryTheory.Equivalence.mk dual dual
- (NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun _ => rfl)
- (NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun _ => rfl)
+ (NatIso.ofComponents fun X => Iso.mk <| OrderIso.dualDual X)
+ (NatIso.ofComponents fun X => Iso.mk <| OrderIso.dualDual X)
#align FinPartOrd.dual_equiv FinPartOrd.dualEquiv
end FinPartOrd
The unported dependencies are