order.category.DistLatMathlib.Order.Category.DistLat

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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 Mathbin.Order.Category.Lat
+import Order.Category.Lat
 
 #align_import order.category.DistLat from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
 
@@ -25,87 +25,87 @@ universe u
 
 open CategoryTheory
 
-#print DistLatCat /-
+#print DistLat /-
 /-- The category of distributive lattices. -/
-def DistLatCat :=
+def DistLat :=
   Bundled DistribLattice
-#align DistLat DistLatCat
+#align DistLat DistLat
 -/
 
-namespace DistLatCat
+namespace DistLat
 
-instance : CoeSort DistLatCat (Type _) :=
+instance : CoeSort DistLat (Type _) :=
   Bundled.hasCoeToSort
 
-instance (X : DistLatCat) : DistribLattice X :=
+instance (X : DistLat) : DistribLattice X :=
   X.str
 
-#print DistLatCat.of /-
+#print DistLat.of /-
 /-- Construct a bundled `DistLat` from a `distrib_lattice` underlying type and typeclass. -/
-def of (α : Type _) [DistribLattice α] : DistLatCat :=
+def of (α : Type _) [DistribLattice α] : DistLat :=
   Bundled.of α
-#align DistLat.of DistLatCat.of
+#align DistLat.of DistLat.of
 -/
 
-#print DistLatCat.coe_of /-
+#print DistLat.coe_of /-
 @[simp]
 theorem coe_of (α : Type _) [DistribLattice α] : ↥(of α) = α :=
   rfl
-#align DistLat.coe_of DistLatCat.coe_of
+#align DistLat.coe_of DistLat.coe_of
 -/
 
-instance : Inhabited DistLatCat :=
+instance : Inhabited DistLat :=
   ⟨of PUnit⟩
 
 instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
   ⟨⟩
 
-deriving instance LargeCategory, ConcreteCategory for DistLatCat
+deriving instance LargeCategory, ConcreteCategory for DistLat
 
-#print DistLatCat.hasForgetToLatCat /-
-instance hasForgetToLatCat : HasForget₂ DistLatCat LatCat :=
+#print DistLat.hasForgetToLat /-
+instance hasForgetToLat : HasForget₂ DistLat Lat :=
   BundledHom.forget₂ _ _
-#align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCat
+#align DistLat.has_forget_to_Lat DistLat.hasForgetToLat
 -/
 
-#print DistLatCat.Iso.mk /-
+#print DistLat.Iso.mk /-
 /-- Constructs an equivalence between distributive lattices from an order isomorphism between them.
 -/
 @[simps]
-def Iso.mk {α β : DistLatCat.{u}} (e : α ≃o β) : α ≅ β
+def Iso.mk {α β : DistLat.{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 _
-#align DistLat.iso.mk DistLatCat.Iso.mk
+#align DistLat.iso.mk DistLat.Iso.mk
 -/
 
-#print DistLatCat.dual /-
+#print DistLat.dual /-
 /-- `order_dual` as a functor. -/
 @[simps]
-def dual : DistLatCat ⥤ DistLatCat where
+def dual : DistLat ⥤ DistLat where
   obj X := of Xᵒᵈ
   map X Y := LatticeHom.dual
-#align DistLat.dual DistLatCat.dual
+#align DistLat.dual DistLat.dual
 -/
 
-#print DistLatCat.dualEquiv /-
+#print DistLat.dualEquiv /-
 /-- The equivalence between `DistLat` and itself induced by `order_dual` both ways. -/
 @[simps Functor inverse]
-def dualEquiv : DistLatCat ≌ DistLatCat :=
+def dualEquiv : DistLat ≌ DistLat :=
   Equivalence.mk dual dual
     (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 DistLat.dual_equiv DistLatCat.dualEquiv
+#align DistLat.dual_equiv DistLat.dualEquiv
 -/
 
-end DistLatCat
+end DistLat
 
-#print distLatCat_dual_comp_forget_to_latCat /-
-theorem distLatCat_dual_comp_forget_to_latCat :
-    DistLatCat.dual ⋙ forget₂ DistLatCat LatCat = forget₂ DistLatCat LatCat ⋙ LatCat.dual :=
+#print distLat_dual_comp_forget_to_Lat /-
+theorem distLat_dual_comp_forget_to_Lat :
+    DistLat.dual ⋙ forget₂ DistLat Lat = forget₂ DistLat Lat ⋙ Lat.dual :=
   rfl
-#align DistLat_dual_comp_forget_to_Lat distLatCat_dual_comp_forget_to_latCat
+#align DistLat_dual_comp_forget_to_Lat distLat_dual_comp_forget_to_Lat
 -/
 
Diff
@@ -2,14 +2,11 @@
 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.DistLat
-! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Order.Category.Lat
 
+#align_import order.category.DistLat from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
+
 /-!
 # The category of distributive lattices
 
Diff
@@ -65,10 +65,13 @@ instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
 
 deriving instance LargeCategory, ConcreteCategory for DistLatCat
 
+#print DistLatCat.hasForgetToLatCat /-
 instance hasForgetToLatCat : HasForget₂ DistLatCat LatCat :=
   BundledHom.forget₂ _ _
 #align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCat
+-/
 
+#print DistLatCat.Iso.mk /-
 /-- Constructs an equivalence between distributive lattices from an order isomorphism between them.
 -/
 @[simps]
@@ -79,14 +82,18 @@ def Iso.mk {α β : DistLatCat.{u}} (e : α ≃o β) : α ≅ β
   hom_inv_id' := by ext; exact e.symm_apply_apply _
   inv_hom_id' := by ext; exact e.apply_symm_apply _
 #align DistLat.iso.mk DistLatCat.Iso.mk
+-/
 
+#print DistLatCat.dual /-
 /-- `order_dual` as a functor. -/
 @[simps]
 def dual : DistLatCat ⥤ DistLatCat where
   obj X := of Xᵒᵈ
   map X Y := LatticeHom.dual
 #align DistLat.dual DistLatCat.dual
+-/
 
+#print DistLatCat.dualEquiv /-
 /-- The equivalence between `DistLat` and itself induced by `order_dual` both ways. -/
 @[simps Functor inverse]
 def dualEquiv : DistLatCat ≌ DistLatCat :=
@@ -94,11 +101,14 @@ def dualEquiv : DistLatCat ≌ DistLatCat :=
     (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 DistLat.dual_equiv DistLatCat.dualEquiv
+-/
 
 end DistLatCat
 
+#print distLatCat_dual_comp_forget_to_latCat /-
 theorem distLatCat_dual_comp_forget_to_latCat :
     DistLatCat.dual ⋙ forget₂ DistLatCat LatCat = forget₂ DistLatCat LatCat ⋙ LatCat.dual :=
   rfl
 #align DistLat_dual_comp_forget_to_Lat distLatCat_dual_comp_forget_to_latCat
+-/
 
Diff
@@ -65,22 +65,10 @@ instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
 
 deriving instance LargeCategory, ConcreteCategory for DistLatCat
 
-/- warning: DistLat.has_forget_to_Lat -> DistLatCat.hasForgetToLatCat is a dubious translation:
-lean 3 declaration is
-  CategoryTheory.HasForget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1}
-but is expected to have type
-  CategoryTheory.HasForget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1}
-Case conversion may be inaccurate. Consider using '#align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCatₓ'. -/
 instance hasForgetToLatCat : HasForget₂ DistLatCat LatCat :=
   BundledHom.forget₂ _ _
 #align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCat
 
-/- warning: DistLat.iso.mk -> DistLatCat.Iso.mk is a dubious translation:
-lean 3 declaration is
-  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistLatCat.distribLattice.{u1} α)))))) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistLatCat.distribLattice.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} α β)
-but is expected to have type
-  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistLatCat.instDistribLatticeα.{u1} α)))))) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistLatCat.instDistribLatticeα.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} α β)
-Case conversion may be inaccurate. Consider using '#align DistLat.iso.mk DistLatCat.Iso.mkₓ'. -/
 /-- Constructs an equivalence between distributive lattices from an order isomorphism between them.
 -/
 @[simps]
@@ -92,12 +80,6 @@ def Iso.mk {α β : DistLatCat.{u}} (e : α ≃o β) : α ≅ β
   inv_hom_id' := by ext; exact e.apply_symm_apply _
 #align DistLat.iso.mk DistLatCat.Iso.mk
 
-/- warning: DistLat.dual -> DistLatCat.dual is a dubious translation:
-lean 3 declaration is
-  CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1}
-but is expected to have type
-  CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1}
-Case conversion may be inaccurate. Consider using '#align DistLat.dual DistLatCat.dualₓ'. -/
 /-- `order_dual` as a functor. -/
 @[simps]
 def dual : DistLatCat ⥤ DistLatCat where
@@ -105,12 +87,6 @@ def dual : DistLatCat ⥤ DistLatCat where
   map X Y := LatticeHom.dual
 #align DistLat.dual DistLatCat.dual
 
-/- warning: DistLat.dual_equiv -> DistLatCat.dualEquiv is a dubious translation:
-lean 3 declaration is
-  CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1}
-but is expected to have type
-  CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} instDistLatCatLargeCategory.{u1}
-Case conversion may be inaccurate. Consider using '#align DistLat.dual_equiv DistLatCat.dualEquivₓ'. -/
 /-- The equivalence between `DistLat` and itself induced by `order_dual` both ways. -/
 @[simps Functor inverse]
 def dualEquiv : DistLatCat ≌ DistLatCat :=
@@ -121,12 +97,6 @@ def dualEquiv : DistLatCat ≌ DistLatCat :=
 
 end DistLatCat
 
-/- warning: DistLat_dual_comp_forget_to_Lat -> distLatCat_dual_comp_forget_to_latCat is a dubious translation:
-lean 3 declaration is
-  Eq.{succ (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1}) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} DistLatCat.dual.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1} DistLatCat.hasForgetToLatCat.{u1})) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1} DistLatCat.hasForgetToLatCat.{u1}) LatCat.dual.{u1})
-but is expected to have type
-  Eq.{succ (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1}) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} DistLatCat.dual.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1} DistLatCat.hasForgetToLatCat.{u1})) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1} DistLatCat.hasForgetToLatCat.{u1}) LatCat.dual.{u1})
-Case conversion may be inaccurate. Consider using '#align DistLat_dual_comp_forget_to_Lat distLatCat_dual_comp_forget_to_latCatₓ'. -/
 theorem distLatCat_dual_comp_forget_to_latCat :
     DistLatCat.dual ⋙ forget₂ DistLatCat LatCat = forget₂ DistLatCat LatCat ⋙ LatCat.dual :=
   rfl
Diff
@@ -88,12 +88,8 @@ def Iso.mk {α β : DistLatCat.{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 DistLat.iso.mk DistLatCat.Iso.mk
 
 /- warning: DistLat.dual -> DistLatCat.dual is a dubious translation:
Diff
@@ -77,7 +77,7 @@ instance hasForgetToLatCat : HasForget₂ DistLatCat LatCat :=
 
 /- warning: DistLat.iso.mk -> DistLatCat.Iso.mk is a dubious translation:
 lean 3 declaration is
-  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Preorder.toLE.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistLatCat.distribLattice.{u1} α)))))) (Preorder.toLE.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistLatCat.distribLattice.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} α β)
+  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistLatCat.distribLattice.{u1} α)))))) (Preorder.toHasLe.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistLatCat.distribLattice.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} α β)
 but is expected to have type
   forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistLatCat.instDistribLatticeα.{u1} α)))))) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistLatCat.instDistribLatticeα.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} α β)
 Case conversion may be inaccurate. Consider using '#align DistLat.iso.mk DistLatCat.Iso.mkₓ'. -/
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.DistLat
-! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
+! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Order.Category.Lat
 /-!
 # The category of distributive lattices
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines `DistLat`, the category of distributive lattices.
 
 Note that [`DistLat`](https://ncatlab.org/nlab/show/DistLat) in the literature doesn't always
Diff
@@ -25,45 +25,63 @@ universe u
 
 open CategoryTheory
 
+#print DistLatCat /-
 /-- The category of distributive lattices. -/
-def DistLat :=
+def DistLatCat :=
   Bundled DistribLattice
-#align DistLat DistLat
+#align DistLat DistLatCat
+-/
 
-namespace DistLat
+namespace DistLatCat
 
-instance : CoeSort DistLat (Type _) :=
+instance : CoeSort DistLatCat (Type _) :=
   Bundled.hasCoeToSort
 
-instance (X : DistLat) : DistribLattice X :=
+instance (X : DistLatCat) : DistribLattice X :=
   X.str
 
+#print DistLatCat.of /-
 /-- Construct a bundled `DistLat` from a `distrib_lattice` underlying type and typeclass. -/
-def of (α : Type _) [DistribLattice α] : DistLat :=
+def of (α : Type _) [DistribLattice α] : DistLatCat :=
   Bundled.of α
-#align DistLat.of DistLat.of
+#align DistLat.of DistLatCat.of
+-/
 
+#print DistLatCat.coe_of /-
 @[simp]
 theorem coe_of (α : Type _) [DistribLattice α] : ↥(of α) = α :=
   rfl
-#align DistLat.coe_of DistLat.coe_of
+#align DistLat.coe_of DistLatCat.coe_of
+-/
 
-instance : Inhabited DistLat :=
+instance : Inhabited DistLatCat :=
   ⟨of PUnit⟩
 
 instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
   ⟨⟩
 
-deriving instance LargeCategory, ConcreteCategory for DistLat
+deriving instance LargeCategory, ConcreteCategory for DistLatCat
 
-instance hasForgetToLat : HasForget₂ DistLat LatCat :=
+/- warning: DistLat.has_forget_to_Lat -> DistLatCat.hasForgetToLatCat is a dubious translation:
+lean 3 declaration is
+  CategoryTheory.HasForget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1}
+but is expected to have type
+  CategoryTheory.HasForget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1}
+Case conversion may be inaccurate. Consider using '#align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCatₓ'. -/
+instance hasForgetToLatCat : HasForget₂ DistLatCat LatCat :=
   BundledHom.forget₂ _ _
-#align DistLat.has_forget_to_Lat DistLat.hasForgetToLat
-
+#align DistLat.has_forget_to_Lat DistLatCat.hasForgetToLatCat
+
+/- warning: DistLat.iso.mk -> DistLatCat.Iso.mk is a dubious translation:
+lean 3 declaration is
+  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Preorder.toLE.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} α) (DistLatCat.distribLattice.{u1} α)))))) (Preorder.toLE.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (PartialOrder.toPreorder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (Lattice.toSemilatticeInf.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistribLattice.toLattice.{u1} (coeSort.{succ (succ u1), succ (succ u1)} DistLatCat.{u1} Type.{u1} DistLatCat.hasCoeToSort.{u1} β) (DistLatCat.distribLattice.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} α β)
+but is expected to have type
+  forall {α : DistLatCat.{u1}} {β : DistLatCat.{u1}}, (OrderIso.{u1, u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} α) (DistLatCat.instDistribLatticeα.{u1} α)))))) (Preorder.toLE.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (PartialOrder.toPreorder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (SemilatticeInf.toPartialOrder.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (Lattice.toSemilatticeInf.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistribLattice.toLattice.{u1} (CategoryTheory.Bundled.α.{u1, u1} DistribLattice.{u1} β) (DistLatCat.instDistribLatticeα.{u1} β))))))) -> (CategoryTheory.Iso.{u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} α β)
+Case conversion may be inaccurate. Consider using '#align DistLat.iso.mk DistLatCat.Iso.mkₓ'. -/
 /-- Constructs an equivalence between distributive lattices from an order isomorphism between them.
 -/
 @[simps]
-def Iso.mk {α β : DistLat.{u}} (e : α ≃o β) : α ≅ β
+def Iso.mk {α β : DistLatCat.{u}} (e : α ≃o β) : α ≅ β
     where
   Hom := e
   inv := e.symm
@@ -73,27 +91,45 @@ def Iso.mk {α β : DistLat.{u}} (e : α ≃o β) : α ≅ β
   inv_hom_id' := by
     ext
     exact e.apply_symm_apply _
-#align DistLat.iso.mk DistLat.Iso.mk
-
+#align DistLat.iso.mk DistLatCat.Iso.mk
+
+/- warning: DistLat.dual -> DistLatCat.dual is a dubious translation:
+lean 3 declaration is
+  CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1}
+but is expected to have type
+  CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1}
+Case conversion may be inaccurate. Consider using '#align DistLat.dual DistLatCat.dualₓ'. -/
 /-- `order_dual` as a functor. -/
 @[simps]
-def dual : DistLat ⥤ DistLat where
+def dual : DistLatCat ⥤ DistLatCat where
   obj X := of Xᵒᵈ
   map X Y := LatticeHom.dual
-#align DistLat.dual DistLat.dual
-
+#align DistLat.dual DistLatCat.dual
+
+/- warning: DistLat.dual_equiv -> DistLatCat.dualEquiv is a dubious translation:
+lean 3 declaration is
+  CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1}
+but is expected to have type
+  CategoryTheory.Equivalence.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} instDistLatCatLargeCategory.{u1}
+Case conversion may be inaccurate. Consider using '#align DistLat.dual_equiv DistLatCat.dualEquivₓ'. -/
 /-- The equivalence between `DistLat` and itself induced by `order_dual` both ways. -/
 @[simps Functor inverse]
-def dualEquiv : DistLat ≌ DistLat :=
+def dualEquiv : DistLatCat ≌ DistLatCat :=
   Equivalence.mk dual dual
     (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 DistLat.dual_equiv DistLat.dualEquiv
-
-end DistLat
-
-theorem distLat_dual_comp_forget_to_latCat :
-    DistLat.dual ⋙ forget₂ DistLat LatCat = forget₂ DistLat LatCat ⋙ LatCat.dual :=
+#align DistLat.dual_equiv DistLatCat.dualEquiv
+
+end DistLatCat
+
+/- warning: DistLat_dual_comp_forget_to_Lat -> distLatCat_dual_comp_forget_to_latCat is a dubious translation:
+lean 3 declaration is
+  Eq.{succ (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1}) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} DistLatCat.dual.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1} DistLatCat.hasForgetToLatCat.{u1})) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} DistLatCat.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.{u1} LatCat.CategoryTheory.largeCategory.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} DistLatCat.largeCategory.{u1} DistLatCat.concreteCategory.{u1} LatCat.CategoryTheory.largeCategory.{u1} LatCat.CategoryTheory.concreteCategory.{u1} DistLatCat.hasForgetToLatCat.{u1}) LatCat.dual.{u1})
+but is expected to have type
+  Eq.{succ (succ u1)} (CategoryTheory.Functor.{u1, u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1}) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} DistLatCat.dual.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1} DistLatCat.hasForgetToLatCat.{u1})) (CategoryTheory.Functor.comp.{u1, u1, u1, succ u1, succ u1, succ u1} DistLatCat.{u1} instDistLatCatLargeCategory.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.{u1} LatCat.instLargeCategoryLatCat.{u1} (CategoryTheory.forget₂.{succ u1, succ u1, u1, u1, u1} DistLatCat.{u1} LatCat.{u1} instDistLatCatLargeCategory.{u1} DistLatCat.instConcreteCategoryDistLatCatInstDistLatCatLargeCategory.{u1} LatCat.instLargeCategoryLatCat.{u1} LatCat.instConcreteCategoryLatCatInstLargeCategoryLatCat.{u1} DistLatCat.hasForgetToLatCat.{u1}) LatCat.dual.{u1})
+Case conversion may be inaccurate. Consider using '#align DistLat_dual_comp_forget_to_Lat distLatCat_dual_comp_forget_to_latCatₓ'. -/
+theorem distLatCat_dual_comp_forget_to_latCat :
+    DistLatCat.dual ⋙ forget₂ DistLatCat LatCat = forget₂ DistLatCat LatCat ⋙ LatCat.dual :=
   rfl
-#align DistLat_dual_comp_forget_to_Lat distLat_dual_comp_forget_to_latCat
+#align DistLat_dual_comp_forget_to_Lat distLatCat_dual_comp_forget_to_latCat
 
Diff
@@ -56,7 +56,7 @@ instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
 
 deriving instance LargeCategory, ConcreteCategory for DistLat
 
-instance hasForgetToLat : HasForget₂ DistLat Lat :=
+instance hasForgetToLat : HasForget₂ DistLat LatCat :=
   BundledHom.forget₂ _ _
 #align DistLat.has_forget_to_Lat DistLat.hasForgetToLat
 
@@ -92,8 +92,8 @@ def dualEquiv : DistLat ≌ DistLat :=
 
 end DistLat
 
-theorem distLat_dual_comp_forget_to_lat :
-    DistLat.dual ⋙ forget₂ DistLat Lat = forget₂ DistLat Lat ⋙ Lat.dual :=
+theorem distLat_dual_comp_forget_to_latCat :
+    DistLat.dual ⋙ forget₂ DistLat LatCat = forget₂ DistLat LatCat ⋙ LatCat.dual :=
   rfl
-#align DistLat_dual_comp_forget_to_Lat distLat_dual_comp_forget_to_lat
+#align DistLat_dual_comp_forget_to_Lat distLat_dual_comp_forget_to_latCat
 

Changes in mathlib4

mathlib3
mathlib4
chore: remove many Type _ before the colon (#7718)

We have turned to Type* instead of Type _, but many of them remained in mathlib because the straight replacement did not work. In general, having Type _ before the colon is a code smell, though, as it hides which types should be in the same universe and which shouldn't, and is not very robust.

This PR replaces most of the remaining Type _ before the colon (except those in category theory) by Type* or Type u. This has uncovered a few bugs (where declarations were not as polymorphic as they should be).

I had to increase heartbeats at two places when replacing Type _ by Type*, but I think it's worth it as it's really more robust.

Diff
@@ -31,19 +31,19 @@ def DistLat :=
 
 namespace DistLat
 
-instance : CoeSort DistLat (Type _) :=
+instance : CoeSort DistLat (Type*) :=
   Bundled.coeSort
 
 instance (X : DistLat) : DistribLattice X :=
   X.str
 
 /-- Construct a bundled `DistLat` from a `DistribLattice` underlying type and typeclass. -/
-def of (α : Type _) [DistribLattice α] : DistLat :=
+def of (α : Type*) [DistribLattice α] : DistLat :=
   Bundled.of α
 #align DistLat.of DistLat.of
 
 @[simp]
-theorem coe_of (α : Type _) [DistribLattice α] : ↥(of α) = α :=
+theorem coe_of (α : Type*) [DistribLattice α] : ↥(of α) = α :=
   rfl
 #align DistLat.coe_of DistLat.coe_of
 
chore: Remove Cat suffixes (#3730)

These names needn't change in the first place.

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
@@ -31,19 +31,19 @@ def DistLatCat :=
 
 namespace DistLatCat
 
-instance : CoeSort DistLatCat (Type _) :=
+instance : CoeSort DistLatCat (Type*) :=
   Bundled.coeSort
 
 instance (X : DistLatCat) : DistribLattice X :=
   X.str
 
 /-- Construct a bundled `DistLatCat` from a `DistribLattice` underlying type and typeclass. -/
-def of (α : Type _) [DistribLattice α] : DistLatCat :=
+def of (α : Type*) [DistribLattice α] : DistLatCat :=
   Bundled.of α
 #align DistLat.of DistLatCat.of
 
 @[simp]
-theorem coe_of (α : Type _) [DistribLattice α] : ↥(of α) = α :=
+theorem coe_of (α : Type*) [DistribLattice α] : ↥(of α) = α :=
   rfl
 #align DistLat.coe_of DistLatCat.coe_of
 
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,14 +2,11 @@
 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.DistLat
-! leanprover-community/mathlib commit e8ac6315bcfcbaf2d19a046719c3b553206dac75
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Order.Category.LatCat
 
+#align_import order.category.DistLat from "leanprover-community/mathlib"@"e8ac6315bcfcbaf2d19a046719c3b553206dac75"
+
 /-!
 # The category of distributive lattices
 
feat: port Order.Category.HeytAlgCat (#5021)

Co-authored-by: Yaël Dillies <yael.dillies@gmail.com>

Diff
@@ -58,6 +58,7 @@ instance : BundledHom.ParentProjection @DistribLattice.toLattice :=
 
 deriving instance LargeCategory for DistLatCat
 
+-- Porting note: probably see https://github.com/leanprover-community/mathlib4/issues/5020
 instance : ConcreteCategory DistLatCat :=
   BundledHom.concreteCategory _
 
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
@@ -91,8 +91,8 @@ def dual : DistLatCat ⥤ DistLatCat where
 def dualEquiv : DistLatCat ≌ DistLatCat where
   functor := dual
   inverse := dual
-  unitIso := NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun _ => rfl
-  counitIso := NatIso.ofComponents (fun X => Iso.mk <| OrderIso.dualDual X) fun _ => rfl
+  unitIso := NatIso.ofComponents fun X => Iso.mk <| OrderIso.dualDual X
+  counitIso := NatIso.ofComponents fun X => Iso.mk <| OrderIso.dualDual X
 #align DistLat.dual_equiv DistLatCat.dualEquiv
 
 end DistLatCat
feat: port Order.Category.DistLatCat (#3458)

Dependencies 121

122 files ported (100.0%)
48105 lines ported (100.0%)

All dependencies are ported!