order.category.FinPartOrdMathlib.Order.Category.FinPartOrd

This file has been ported!

Changes since the initial port

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.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -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"
Diff
@@ -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
 -/
 
Diff
@@ -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
 
Diff
@@ -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
 
Diff
@@ -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. -/
Diff
@@ -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`. -/
Diff
@@ -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. -/
Diff
@@ -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 :=
Diff
@@ -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 /-
Diff
@@ -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
+-/
 
Diff
@@ -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
 
Diff
@@ -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
 

Changes in mathlib4

mathlib3
mathlib4
chore: Remove Cat suffixes (#3730)

These names needn't change in the first place.

Diff
@@ -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
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -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 :=
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -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
 
chore: review of automation in category theory (#4793)

Clean up of automation in the category theory library. Leaving out unnecessary proof steps, or fields done by aesop_cat, and making more use of available autoparameters.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Diff
@@ -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
feat: port Order.Category.FinPartOrd (#3831)

Co-authored-by: int-y1 <jason_yuen2007@hotmail.com>

Dependencies 2 + 239

240 files ported (99.2%)
97275 lines ported (99.9%)
Show graph

The unported dependencies are