category_theory.limits.has_limitsMathlib.CategoryTheory.Limits.HasLimits

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
 -/
 import CategoryTheory.Limits.IsLimit
-import CategoryTheory.Category.Ulift
+import CategoryTheory.Category.ULift
 
 #align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
 
Diff
@@ -1491,20 +1491,20 @@ theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J']
 
 variable (C)
 
-#print CategoryTheory.Limits.hasColimitsOfSize_shrink /-
+#print CategoryTheory.Limits.hasColimitsOfSizeShrink /-
 /-- `has_colimits_of_size_shrink.{v u} C` tries to obtain `has_colimits_of_size.{v u} C`
 from some other `has_colimits_of_size C`.
 -/
-theorem hasColimitsOfSize_shrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
+theorem hasColimitsOfSizeShrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
     HasColimitsOfSize.{v₁, u₁} C :=
   ⟨fun J hJ => has_colimits_of_shape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
-#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSize_shrink
+#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSizeShrink
 -/
 
 #print CategoryTheory.Limits.hasSmallestColimitsOfHasColimits /-
 instance (priority := 100) hasSmallestColimitsOfHasColimits [HasColimits C] :
     HasColimitsOfSize.{0, 0} C :=
-  hasColimitsOfSize_shrink.{0, 0} C
+  hasColimitsOfSizeShrink.{0, 0} C
 #align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.hasSmallestColimitsOfHasColimits
 -/
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2018 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
 -/
-import Mathbin.CategoryTheory.Limits.IsLimit
-import Mathbin.CategoryTheory.Category.Ulift
+import CategoryTheory.Limits.IsLimit
+import CategoryTheory.Category.Ulift
 
 #align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2018 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
-
-! This file was ported from Lean 3 source module category_theory.limits.has_limits
-! leanprover-community/mathlib commit ee05e9ce1322178f0c12004eb93c00d2c8c00ed2
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Limits.IsLimit
 import Mathbin.CategoryTheory.Category.Ulift
 
+#align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
+
 /-!
 # Existence of limits and colimits
 
Diff
@@ -173,10 +173,12 @@ def limit (F : J ⥤ C) [HasLimit F] :=
 #align category_theory.limits.limit CategoryTheory.Limits.limit
 -/
 
+#print CategoryTheory.Limits.limit.π /-
 /-- The projection from the limit object to a value of the functor. -/
 def limit.π (F : J ⥤ C) [HasLimit F] (j : J) : limit F ⟶ F.obj j :=
   (limit.cone F).π.app j
 #align category_theory.limits.limit.π CategoryTheory.Limits.limit.π
+-/
 
 #print CategoryTheory.Limits.limit.cone_x /-
 @[simp]
@@ -185,16 +187,20 @@ theorem limit.cone_x {F : J ⥤ C} [HasLimit F] : (limit.cone F).pt = limit F :=
 #align category_theory.limits.limit.cone_X CategoryTheory.Limits.limit.cone_x
 -/
 
+#print CategoryTheory.Limits.limit.cone_π /-
 @[simp]
 theorem limit.cone_π {F : J ⥤ C} [HasLimit F] : (limit.cone F).π.app = limit.π _ :=
   rfl
 #align category_theory.limits.limit.cone_π CategoryTheory.Limits.limit.cone_π
+-/
 
+#print CategoryTheory.Limits.limit.w /-
 @[simp, reassoc]
 theorem limit.w (F : J ⥤ C) [HasLimit F] {j j' : J} (f : j ⟶ j') :
     limit.π F j ≫ F.map f = limit.π F j' :=
   (limit.cone F).w f
 #align category_theory.limits.limit.w CategoryTheory.Limits.limit.w
+-/
 
 #print CategoryTheory.Limits.limit.isLimit /-
 /-- Evidence that the arbitrary choice of cone provied by `limit.cone F` is a limit cone. -/
@@ -218,11 +224,13 @@ theorem limit.isLimit_lift {F : J ⥤ C} [HasLimit F] (c : Cone F) :
 #align category_theory.limits.limit.is_limit_lift CategoryTheory.Limits.limit.isLimit_lift
 -/
 
+#print CategoryTheory.Limits.limit.lift_π /-
 @[simp, reassoc]
 theorem limit.lift_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     limit.lift F c ≫ limit.π F j = c.π.app j :=
   IsLimit.fac _ c j
 #align category_theory.limits.limit.lift_π CategoryTheory.Limits.limit.lift_π
+-/
 
 #print CategoryTheory.Limits.limMap /-
 /-- Functoriality of limits.
@@ -236,11 +244,13 @@ def limMap {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) : limit F 
 #align category_theory.limits.lim_map CategoryTheory.Limits.limMap
 -/
 
+#print CategoryTheory.Limits.limMap_π /-
 @[simp, reassoc]
 theorem limMap_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) (j : J) :
     limMap α ≫ limit.π G j = limit.π F j ≫ α.app j :=
   limit.lift_π _ j
 #align category_theory.limits.lim_map_π CategoryTheory.Limits.limMap_π
+-/
 
 #print CategoryTheory.Limits.limit.coneMorphism /-
 /-- The cone morphism from any cone to the arbitrary choice of limit cone. -/
@@ -257,26 +267,34 @@ theorem limit.coneMorphism_hom {F : J ⥤ C} [HasLimit F] (c : Cone F) :
 #align category_theory.limits.limit.cone_morphism_hom CategoryTheory.Limits.limit.coneMorphism_hom
 -/
 
+#print CategoryTheory.Limits.limit.coneMorphism_π /-
 theorem limit.coneMorphism_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     (limit.coneMorphism c).Hom ≫ limit.π F j = c.π.app j := by simp
 #align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_π
+-/
 
+#print CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp /-
 @[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_hom_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso hc (limit.isLimit _)).Hom ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_hom_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp
+-/
 
+#print CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp /-
 @[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_inv_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso (limit.isLimit _) hc).inv ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_inv_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp
+-/
 
+#print CategoryTheory.Limits.limit.existsUnique /-
 theorem limit.existsUnique {F : J ⥤ C} [HasLimit F] (t : Cone F) :
     ∃! l : t.pt ⟶ limit F, ∀ j, l ≫ limit.π F j = t.π.app j :=
   (limit.isLimit F).ExistsUnique _
 #align category_theory.limits.limit.exists_unique CategoryTheory.Limits.limit.existsUnique
+-/
 
 #print CategoryTheory.Limits.limit.isoLimitCone /-
 /-- Given any other limit cone for `F`, the chosen `limit F` is isomorphic to the cone point.
@@ -286,29 +304,37 @@ def limit.isoLimitCone {F : J ⥤ C} [HasLimit F] (t : LimitCone F) : limit F 
 #align category_theory.limits.limit.iso_limit_cone CategoryTheory.Limits.limit.isoLimitCone
 -/
 
+#print CategoryTheory.Limits.limit.isoLimitCone_hom_π /-
 @[simp, reassoc]
 theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j := by
   dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_π
+-/
 
+#print CategoryTheory.Limits.limit.isoLimitCone_inv_π /-
 @[simp, reassoc]
 theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j := by
   dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_π
+-/
 
+#print CategoryTheory.Limits.limit.hom_ext /-
 @[ext]
 theorem limit.hom_ext {F : J ⥤ C} [HasLimit F] {X : C} {f f' : X ⟶ limit F}
     (w : ∀ j, f ≫ limit.π F j = f' ≫ limit.π F j) : f = f' :=
   (limit.isLimit F).hom_ext w
 #align category_theory.limits.limit.hom_ext CategoryTheory.Limits.limit.hom_ext
+-/
 
+#print CategoryTheory.Limits.limit.lift_map /-
 @[simp]
 theorem limit.lift_map {F G : J ⥤ C} [HasLimit F] [HasLimit G] (c : Cone F) (α : F ⟶ G) :
     limit.lift F c ≫ limMap α = limit.lift G ((Cones.postcompose α).obj c) := by ext;
   rw [assoc, lim_map_π, limit.lift_π_assoc, limit.lift_π]; rfl
 #align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_map
+-/
 
 #print CategoryTheory.Limits.limit.lift_cone /-
 @[simp]
@@ -317,6 +343,7 @@ theorem limit.lift_cone {F : J ⥤ C} [HasLimit F] : limit.lift F (limit.cone F)
 #align category_theory.limits.limit.lift_cone CategoryTheory.Limits.limit.lift_cone
 -/
 
+#print CategoryTheory.Limits.limit.homIso /-
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and cones with cone point `W`.
@@ -325,13 +352,17 @@ def limit.homIso (F : J ⥤ C) [HasLimit F] (W : C) :
     ULift.{u₁} (W ⟶ limit F : Type v) ≅ F.cones.obj (op W) :=
   (limit.isLimit F).homIso W
 #align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIso
+-/
 
+#print CategoryTheory.Limits.limit.homIso_hom /-
 @[simp]
 theorem limit.homIso_hom (F : J ⥤ C) [HasLimit F] {W : C} (f : ULift (W ⟶ limit F)) :
     (limit.homIso F W).Hom f = (const J).map f.down ≫ (limit.cone F).π :=
   (limit.isLimit F).homIso_hom f
 #align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_hom
+-/
 
+#print CategoryTheory.Limits.limit.homIso' /-
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and an explicit componentwise description of cones with cone point `W`.
@@ -341,6 +372,7 @@ def limit.homIso' (F : J ⥤ C) [HasLimit F] (W : C) :
       { p : ∀ j, W ⟶ F.obj j // ∀ {j j' : J} (f : j ⟶ j'), p j ≫ F.map f = p j' } :=
   (limit.isLimit F).homIso' W
 #align category_theory.limits.limit.hom_iso' CategoryTheory.Limits.limit.homIso'
+-/
 
 #print CategoryTheory.Limits.limit.lift_extend /-
 theorem limit.lift_extend {F : J ⥤ C} [HasLimit F] (c : Cone F) {X : C} (f : X ⟶ c.pt) :
@@ -389,18 +421,23 @@ def HasLimit.isoOfNatIso {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G)
 #align category_theory.limits.has_limit.iso_of_nat_iso CategoryTheory.Limits.HasLimit.isoOfNatIso
 -/
 
+#print CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π /-
 @[simp, reassoc]
 theorem HasLimit.isoOfNatIso_hom_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).Hom ≫ limit.π G j = limit.π F j ≫ w.Hom.app j :=
   IsLimit.conePointsIsoOfNatIso_hom_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π
+-/
 
+#print CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π /-
 @[simp, reassoc]
 theorem HasLimit.isoOfNatIso_inv_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).inv ≫ limit.π F j = limit.π G j ≫ w.inv.app j :=
   IsLimit.conePointsIsoOfNatIso_inv_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π
+-/
 
+#print CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom /-
 @[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone F)
     (w : F ≅ G) :
@@ -408,7 +445,9 @@ theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G]
       limit.lift G ((Cones.postcompose w.Hom).obj _) :=
   IsLimit.lift_comp_conePointsIsoOfNatIso_hom _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom
+-/
 
+#print CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv /-
 @[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone G)
     (w : F ≅ G) :
@@ -416,7 +455,9 @@ theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G]
       limit.lift F ((Cones.postcompose w.inv).obj _) :=
   IsLimit.lift_comp_conePointsIsoOfNatIso_inv _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv
+-/
 
+#print CategoryTheory.Limits.HasLimit.isoOfEquivalence /-
 /-- The limits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -424,7 +465,9 @@ def HasLimit.isoOfEquivalence {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit
     (w : e.Functor ⋙ G ≅ F) : limit F ≅ limit G :=
   IsLimit.conePointsIsoOfEquivalence (limit.isLimit F) (limit.isLimit G) e w
 #align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalence
+-/
 
+#print CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π /-
 @[simp]
 theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -435,7 +478,9 @@ theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C
   dsimp
   simp
 #align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π
+-/
 
+#print CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_π /-
 @[simp]
 theorem HasLimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -445,6 +490,7 @@ theorem HasLimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C
   dsimp
   simp
 #align category_theory.limits.has_limit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_π
+-/
 
 section Pre
 
@@ -458,10 +504,12 @@ def limit.pre : limit F ⟶ limit (E ⋙ F) :=
 #align category_theory.limits.limit.pre CategoryTheory.Limits.limit.pre
 -/
 
+#print CategoryTheory.Limits.limit.pre_π /-
 @[simp, reassoc]
 theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) := by
   erw [is_limit.fac]; rfl
 #align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_π
+-/
 
 #print CategoryTheory.Limits.limit.lift_pre /-
 @[simp]
@@ -503,23 +551,30 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasLimit F] (G : C ⥤ D) [HasLimit (F ⋙ G)]
 
+#print CategoryTheory.Limits.limit.post /-
 /-- The canonical morphism from `G` applied to the limit of `F` to the limit of `F ⋙ G`.
 -/
 def limit.post : G.obj (limit F) ⟶ limit (F ⋙ G) :=
   limit.lift (F ⋙ G) (G.mapCone (limit.cone F))
 #align category_theory.limits.limit.post CategoryTheory.Limits.limit.post
+-/
 
+#print CategoryTheory.Limits.limit.post_π /-
 @[simp, reassoc]
 theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) := by
   erw [is_limit.fac]; rfl
 #align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_π
+-/
 
+#print CategoryTheory.Limits.limit.lift_post /-
 @[simp]
 theorem limit.lift_post (c : Cone F) :
     G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) := by ext;
   rw [assoc, limit.post_π, ← G.map_comp, limit.lift_π, limit.lift_π]; rfl
 #align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_post
+-/
 
+#print CategoryTheory.Limits.limit.post_post /-
 @[simp]
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasLimit ((F ⋙ G) ⋙ H)] :-- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals 
@@ -530,9 +585,11 @@ theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
       limit.post F (G ⋙ H) :=
   by ext <;> erw [assoc, limit.post_π, ← H.map_comp, limit.post_π, limit.post_π] <;> rfl
 #align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_post
+-/
 
 end Post
 
+#print CategoryTheory.Limits.limit.pre_post /-
 theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
     [HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs 
@@ -545,17 +602,21 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
   ext <;> erw [assoc, limit.post_π, ← G.map_comp, limit.pre_π, assoc, limit.pre_π, limit.post_π] <;>
     rfl
 #align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_post
+-/
 
 open CategoryTheory.Equivalence
 
+#print CategoryTheory.Limits.hasLimitEquivalenceComp /-
 instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
   HasLimit.mk
     { Cone := Cone.whisker e.Functor (limit.cone F)
       IsLimit := IsLimit.whiskerEquivalence (limit.isLimit F) e }
 #align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceComp
+-/
 
 attribute [local elab_without_expected_type] inv_fun_id_assoc
 
+#print CategoryTheory.Limits.hasLimitOfEquivalenceComp /-
 -- not entirely sure why this is needed
 /-- If a `E ⋙ F` has a limit, and `E` is an equivalence, we can construct a limit of `F`.
 -/
@@ -564,6 +625,7 @@ theorem hasLimitOfEquivalenceComp (e : K ≌ J) [HasLimit (e.Functor ⋙ F)] : H
   haveI : has_limit (e.inverse ⋙ e.functor ⋙ F) := limits.has_limit_equivalence_comp e.symm
   apply has_limit_of_iso (e.inv_fun_id_assoc F)
 #align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimitOfEquivalenceComp
+-/
 
 -- `has_limit_comp_equivalence` and `has_limit_of_comp_equivalence`
 -- are proved in `category_theory/adjunction/limits.lean`.
@@ -589,24 +651,33 @@ end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
+#print CategoryTheory.Limits.lim_map /-
 -- We generate this manually since `simps` gives it a weird name.
 @[simp]
 theorem lim_map : lim.map α = limMap α :=
   rfl
 #align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_map
+-/
 
+#print CategoryTheory.Limits.limit.map_pre /-
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
     lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) := by ext; simp
 #align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_pre
+-/
 
+#print CategoryTheory.Limits.limit.map_pre' /-
 theorem limit.map_pre' [HasLimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     limit.pre F E₂ = limit.pre F E₁ ≫ lim.map (whiskerRight α F) := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'
+-/
 
+#print CategoryTheory.Limits.limit.id_pre /-
 theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.leftUnitor F).inv := by tidy
 #align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_pre
+-/
 
+#print CategoryTheory.Limits.limit.map_post /-
 theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
     (H : C ⥤ D) :/- H (limit F) ⟶ H (limit G) ⟶ limit (G ⋙ H) vs
                H (limit F) ⟶ limit (F ⋙ H) ⟶ limit (G ⋙ H) -/
@@ -618,7 +689,9 @@ theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
   ext
   simp only [whisker_right_app, lim_map_π, assoc, limit.post_π_assoc, limit.post_π, ← H.map_comp]
 #align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_post
+-/
 
+#print CategoryTheory.Limits.limYoneda /-
 /-- The isomorphism between
 morphisms from `W` to the cone point of the limit cone for `F`
 and cones over `F` with cone point `W`
@@ -629,6 +702,7 @@ def limYoneda :
   NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => limit.homIso F (unop W)) (by tidy))
     (by tidy)
 #align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYoneda
+-/
 
 #print CategoryTheory.Limits.constLimAdj /-
 /-- The constant functor and limit functor are adjoint to each other-/
@@ -665,18 +739,22 @@ instance limMap_mono' {F G : J ⥤ C} [HasLimitsOfShape J C] (α : F ⟶ G) [Mon
 #align category_theory.limits.lim_map_mono' CategoryTheory.Limits.limMap_mono'
 -/
 
+#print CategoryTheory.Limits.limMap_mono /-
 instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [∀ j, Mono (α.app j)] :
     Mono (limMap α) :=
   ⟨fun Z u v h =>
     limit.hom_ext fun j => (cancel_mono (α.app j)).1 <| by simpa using h =≫ limit.π _ j⟩
 #align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_mono
+-/
 
+#print CategoryTheory.Limits.hasLimitsOfShape_of_equivalence /-
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasLimitsOfShape J C] : HasLimitsOfShape J' C := by constructor; intro F;
   apply has_limit_of_equivalence_comp e; infer_instance
 #align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
+-/
 
 variable (C)
 
@@ -797,16 +875,20 @@ def colimit (F : J ⥤ C) [HasColimit F] :=
 #align category_theory.limits.colimit CategoryTheory.Limits.colimit
 -/
 
+#print CategoryTheory.Limits.colimit.ι /-
 /-- The coprojection from a value of the functor to the colimit object. -/
 def colimit.ι (F : J ⥤ C) [HasColimit F] (j : J) : F.obj j ⟶ colimit F :=
   (colimit.cocone F).ι.app j
 #align category_theory.limits.colimit.ι CategoryTheory.Limits.colimit.ι
+-/
 
+#print CategoryTheory.Limits.colimit.cocone_ι /-
 @[simp]
 theorem colimit.cocone_ι {F : J ⥤ C} [HasColimit F] (j : J) :
     (colimit.cocone F).ι.app j = colimit.ι _ j :=
   rfl
 #align category_theory.limits.colimit.cocone_ι CategoryTheory.Limits.colimit.cocone_ι
+-/
 
 #print CategoryTheory.Limits.colimit.cocone_x /-
 @[simp]
@@ -815,11 +897,13 @@ theorem colimit.cocone_x {F : J ⥤ C} [HasColimit F] : (colimit.cocone F).pt =
 #align category_theory.limits.colimit.cocone_X CategoryTheory.Limits.colimit.cocone_x
 -/
 
+#print CategoryTheory.Limits.colimit.w /-
 @[simp, reassoc]
 theorem colimit.w (F : J ⥤ C) [HasColimit F] {j j' : J} (f : j ⟶ j') :
     F.map f ≫ colimit.ι F j' = colimit.ι F j :=
   (colimit.cocone F).w f
 #align category_theory.limits.colimit.w CategoryTheory.Limits.colimit.w
+-/
 
 #print CategoryTheory.Limits.colimit.isColimit /-
 /-- Evidence that the arbitrary choice of cocone is a colimit cocone. -/
@@ -843,6 +927,7 @@ theorem colimit.isColimit_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
 #align category_theory.limits.colimit.is_colimit_desc CategoryTheory.Limits.colimit.isColimit_desc
 -/
 
+#print CategoryTheory.Limits.colimit.ι_desc /-
 /-- We have lots of lemmas describing how to simplify `colimit.ι F j ≫ _`,
 and combined with `colimit.ext` we rely on these lemmas for many calculations.
 
@@ -857,6 +942,7 @@ theorem colimit.ι_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
     colimit.ι F j ≫ colimit.desc F c = c.ι.app j :=
   IsColimit.fac _ c j
 #align category_theory.limits.colimit.ι_desc CategoryTheory.Limits.colimit.ι_desc
+-/
 
 #print CategoryTheory.Limits.colimMap /-
 /-- Functoriality of colimits.
@@ -870,11 +956,13 @@ def colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) : coli
 #align category_theory.limits.colim_map CategoryTheory.Limits.colimMap
 -/
 
+#print CategoryTheory.Limits.ι_colimMap /-
 @[simp, reassoc]
 theorem ι_colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) (j : J) :
     colimit.ι F j ≫ colimMap α = α.app j ≫ colimit.ι G j :=
   colimit.ι_desc _ j
 #align category_theory.limits.ι_colim_map CategoryTheory.Limits.ι_colimMap
+-/
 
 #print CategoryTheory.Limits.colimit.coconeMorphism /-
 /-- The cocone morphism from the arbitrary choice of colimit cocone to any cocone. -/
@@ -891,28 +979,36 @@ theorem colimit.coconeMorphism_hom {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
 #align category_theory.limits.colimit.cocone_morphism_hom CategoryTheory.Limits.colimit.coconeMorphism_hom
 -/
 
+#print CategoryTheory.Limits.colimit.ι_coconeMorphism /-
 theorem colimit.ι_coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
     colimit.ι F j ≫ (colimit.coconeMorphism c).Hom = c.ι.app j := by simp
 #align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphism
+-/
 
+#print CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom /-
 @[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
     colimit.ι F j ≫ (IsColimit.coconePointUniqueUpToIso (colimit.isColimit _) hc).Hom = c.ι.app j :=
   IsColimit.comp_coconePointUniqueUpToIso_hom _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom
+-/
 
+#print CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv /-
 @[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
     colimit.ι F j ≫ (IsColimit.coconePointUniqueUpToIso hc (colimit.isColimit _)).inv = c.ι.app j :=
   IsColimit.comp_coconePointUniqueUpToIso_inv _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv
+-/
 
+#print CategoryTheory.Limits.colimit.existsUnique /-
 theorem colimit.existsUnique {F : J ⥤ C} [HasColimit F] (t : Cocone F) :
     ∃! d : colimit F ⟶ t.pt, ∀ j, colimit.ι F j ≫ d = t.ι.app j :=
   (colimit.isColimit F).ExistsUnique _
 #align category_theory.limits.colimit.exists_unique CategoryTheory.Limits.colimit.existsUnique
+-/
 
 #print CategoryTheory.Limits.colimit.isoColimitCocone /-
 /--
@@ -924,23 +1020,29 @@ def colimit.isoColimitCocone {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F)
 #align category_theory.limits.colimit.iso_colimit_cocone CategoryTheory.Limits.colimit.isoColimitCocone
 -/
 
+#print CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom /-
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j := by
   dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom
+-/
 
+#print CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv /-
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j := by
   dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv
+-/
 
+#print CategoryTheory.Limits.colimit.hom_ext /-
 @[ext]
 theorem colimit.hom_ext {F : J ⥤ C} [HasColimit F] {X : C} {f f' : colimit F ⟶ X}
     (w : ∀ j, colimit.ι F j ≫ f = colimit.ι F j ≫ f') : f = f' :=
   (colimit.isColimit F).hom_ext w
 #align category_theory.limits.colimit.hom_ext CategoryTheory.Limits.colimit.hom_ext
+-/
 
 #print CategoryTheory.Limits.colimit.desc_cocone /-
 @[simp]
@@ -950,6 +1052,7 @@ theorem colimit.desc_cocone {F : J ⥤ C} [HasColimit F] :
 #align category_theory.limits.colimit.desc_cocone CategoryTheory.Limits.colimit.desc_cocone
 -/
 
+#print CategoryTheory.Limits.colimit.homIso /-
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and cocones with cone point `W`.
@@ -958,13 +1061,17 @@ def colimit.homIso (F : J ⥤ C) [HasColimit F] (W : C) :
     ULift.{u₁} (colimit F ⟶ W : Type v) ≅ F.cocones.obj W :=
   (colimit.isColimit F).homIso W
 #align category_theory.limits.colimit.hom_iso CategoryTheory.Limits.colimit.homIso
+-/
 
+#print CategoryTheory.Limits.colimit.homIso_hom /-
 @[simp]
 theorem colimit.homIso_hom (F : J ⥤ C) [HasColimit F] {W : C} (f : ULift (colimit F ⟶ W)) :
     (colimit.homIso F W).Hom f = (colimit.cocone F).ι ≫ (const J).map f.down :=
   (colimit.isColimit F).homIso_hom f
 #align category_theory.limits.colimit.hom_iso_hom CategoryTheory.Limits.colimit.homIso_hom
+-/
 
+#print CategoryTheory.Limits.colimit.homIso' /-
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and an explicit componentwise description of cocones with cone point `W`.
@@ -974,6 +1081,7 @@ def colimit.homIso' (F : J ⥤ C) [HasColimit F] (W : C) :
       { p : ∀ j, F.obj j ⟶ W // ∀ {j j'} (f : j ⟶ j'), F.map f ≫ p j' = p j } :=
   (colimit.isColimit F).homIso' W
 #align category_theory.limits.colimit.hom_iso' CategoryTheory.Limits.colimit.homIso'
+-/
 
 #print CategoryTheory.Limits.colimit.desc_extend /-
 theorem colimit.desc_extend (F : J ⥤ C) [HasColimit F] (c : Cocone F) {X : C} (f : c.pt ⟶ X) :
@@ -1022,18 +1130,23 @@ def HasColimit.isoOfNatIso {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F
 #align category_theory.limits.has_colimit.iso_of_nat_iso CategoryTheory.Limits.HasColimit.isoOfNatIso
 -/
 
+#print CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom /-
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_hom {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι F j ≫ (HasColimit.isoOfNatIso w).Hom = w.Hom.app j ≫ colimit.ι G j :=
   IsColimit.comp_coconePointsIsoOfNatIso_hom _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv /-
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_inv {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι G j ≫ (HasColimit.isoOfNatIso w).inv = w.inv.app j ≫ colimit.ι F j :=
   IsColimit.comp_coconePointsIsoOfNatIso_inv _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc /-
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone G)
     (w : F ≅ G) :
@@ -1041,7 +1154,9 @@ theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColim
       colimit.desc F ((Cocones.precompose w.Hom).obj _) :=
   IsColimit.coconePointsIsoOfNatIso_hom_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc /-
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone F)
     (w : F ≅ G) :
@@ -1049,7 +1164,9 @@ theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColim
       colimit.desc G ((Cocones.precompose w.inv).obj _) :=
   IsColimit.coconePointsIsoOfNatIso_inv_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfEquivalence /-
 /-- The colimits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -1057,7 +1174,9 @@ def HasColimit.isoOfEquivalence {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasC
     (w : e.Functor ⋙ G ≅ F) : colimit F ≅ colimit G :=
   IsColimit.coconePointsIsoOfEquivalence (colimit.isColimit F) (colimit.isColimit G) e w
 #align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalence
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π /-
 @[simp]
 theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -1068,7 +1187,9 @@ theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K 
   dsimp
   simp
 #align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_π /-
 @[simp]
 theorem HasColimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -1079,6 +1200,7 @@ theorem HasColimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasColimit F] {G : K 
   dsimp
   simp
 #align category_theory.limits.has_colimit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_π
+-/
 
 section Pre
 
@@ -1092,10 +1214,12 @@ def colimit.pre : colimit (E ⋙ F) ⟶ colimit F :=
 #align category_theory.limits.colimit.pre CategoryTheory.Limits.colimit.pre
 -/
 
+#print CategoryTheory.Limits.colimit.ι_pre /-
 @[simp, reassoc]
 theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) := by
   erw [is_colimit.fac]; rfl
 #align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_pre
+-/
 
 #print CategoryTheory.Limits.colimit.pre_desc /-
 @[simp, reassoc]
@@ -1143,24 +1267,31 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasColimit F] (G : C ⥤ D) [HasColimit (F ⋙ G)]
 
+#print CategoryTheory.Limits.colimit.post /-
 /-- The canonical morphism from `G` applied to the colimit of `F ⋙ G`
 to `G` applied to the colimit of `F`.
 -/
 def colimit.post : colimit (F ⋙ G) ⟶ G.obj (colimit F) :=
   colimit.desc (F ⋙ G) (G.mapCocone (colimit.cocone F))
 #align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.post
+-/
 
+#print CategoryTheory.Limits.colimit.ι_post /-
 @[simp, reassoc]
 theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
   by erw [is_colimit.fac]; rfl
 #align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_post
+-/
 
+#print CategoryTheory.Limits.colimit.post_desc /-
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
     colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) := by ext;
   rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_desc, colimit.ι_desc]; rfl
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
+-/
 
+#print CategoryTheory.Limits.colimit.post_post /-
 @[simp]
 theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasColimit
@@ -1175,9 +1306,11 @@ theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
   rw [← assoc, colimit.ι_post, ← H.map_comp, colimit.ι_post]
   exact (colimit.ι_post F (G ⋙ H) j).symm
 #align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_post
+-/
 
 end Post
 
+#print CategoryTheory.Limits.colimit.pre_post /-
 theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)]
     [H :
@@ -1193,15 +1326,19 @@ theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J 
   letI : has_colimit (E ⋙ F ⋙ G) := show has_colimit ((E ⋙ F) ⋙ G) by infer_instance
   erw [colimit.ι_pre (F ⋙ G) E j, colimit.ι_post]
 #align category_theory.limits.colimit.pre_post CategoryTheory.Limits.colimit.pre_post
+-/
 
 open CategoryTheory.Equivalence
 
+#print CategoryTheory.Limits.hasColimit_equivalence_comp /-
 instance hasColimit_equivalence_comp (e : K ≌ J) [HasColimit F] : HasColimit (e.Functor ⋙ F) :=
   HasColimit.mk
     { Cocone := Cocone.whisker e.Functor (colimit.cocone F)
       IsColimit := IsColimit.whiskerEquivalence (colimit.isColimit F) e }
 #align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_comp
+-/
 
+#print CategoryTheory.Limits.hasColimit_of_equivalence_comp /-
 /-- If a `E ⋙ F` has a colimit, and `E` is an equivalence, we can construct a colimit of `F`.
 -/
 theorem hasColimit_of_equivalence_comp (e : K ≌ J) [HasColimit (e.Functor ⋙ F)] : HasColimit F :=
@@ -1209,6 +1346,7 @@ theorem hasColimit_of_equivalence_comp (e : K ≌ J) [HasColimit (e.Functor ⋙
   haveI : has_colimit (e.inverse ⋙ e.functor ⋙ F) := limits.has_colimit_equivalence_comp e.symm
   apply has_colimit_of_iso (e.inv_fun_id_assoc F).symm
 #align category_theory.limits.has_colimit_of_equivalence_comp CategoryTheory.Limits.hasColimit_of_equivalence_comp
+-/
 
 section ColimFunctor
 
@@ -1234,33 +1372,44 @@ end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
+#print CategoryTheory.Limits.colimit.ι_map /-
 @[simp, reassoc]
 theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫ colimit.ι G j := by
   apply is_colimit.fac
 #align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_map
+-/
 
+#print CategoryTheory.Limits.colimit.map_desc /-
 @[simp]
 theorem colimit.map_desc (c : Cocone G) :
     colim.map α ≫ colimit.desc G c = colimit.desc F ((Cocones.precompose α).obj c) := by
   ext <;> rw [← assoc, colimit.ι_map, assoc, colimit.ι_desc, colimit.ι_desc] <;> rfl
 #align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_desc
+-/
 
+#print CategoryTheory.Limits.colimit.pre_map /-
 theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     colimit.pre F E ≫ colim.map α = colim.map (whiskerLeft E α) ≫ colimit.pre G E := by
   ext <;>
       rw [← assoc, colimit.ι_pre, colimit.ι_map, ← assoc, colimit.ι_map, assoc, colimit.ι_pre] <;>
     rfl
 #align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_map
+-/
 
+#print CategoryTheory.Limits.colimit.pre_map' /-
 theorem colimit.pre_map' [HasColimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     colimit.pre F E₁ = colim.map (whiskerRight α F) ≫ colimit.pre F E₂ := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'
+-/
 
+#print CategoryTheory.Limits.colimit.pre_id /-
 theorem colimit.pre_id (F : J ⥤ C) : colimit.pre F (𝟭 _) = colim.map (Functor.leftUnitor F).Hom :=
   by tidy
 #align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_id
+-/
 
+#print CategoryTheory.Limits.colimit.map_post /-
 theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D]
     (H : C ⥤ D) :/- H (colimit F) ⟶ H (colimit G) ⟶ colimit (G ⋙ H) vs
              H (colimit F) ⟶ colimit (F ⋙ H) ⟶ colimit (G ⋙ H) -/
@@ -1274,7 +1423,9 @@ theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D
   rw [← assoc, colimit.ι_map, assoc, colimit.ι_post]
   rfl
 #align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_post
+-/
 
+#print CategoryTheory.Limits.colimCoyoneda /-
 /-- The isomorphism between
 morphisms from the cone point of the colimit cocone for `F` to `W`
 and cocones over `F` with cone point `W`
@@ -1285,6 +1436,7 @@ def colimCoyoneda :
       CategoryTheory.cocones J C :=
   NatIso.ofComponents (fun F => NatIso.ofComponents (colimit.homIso (unop F)) (by tidy)) (by tidy)
 #align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyoneda
+-/
 
 #print CategoryTheory.Limits.colimConstAdj /-
 /-- The colimit functor and constant functor are adjoint to each other
@@ -1323,18 +1475,22 @@ instance colimMap_epi' {F G : J ⥤ C} [HasColimitsOfShape J C] (α : F ⟶ G) [
 #align category_theory.limits.colim_map_epi' CategoryTheory.Limits.colimMap_epi'
 -/
 
+#print CategoryTheory.Limits.colimMap_epi /-
 instance colimMap_epi {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) [∀ j, Epi (α.app j)] :
     Epi (colimMap α) :=
   ⟨fun Z u v h =>
     colimit.hom_ext fun j => (cancel_epi (α.app j)).1 <| by simpa using colimit.ι _ j ≫= h⟩
 #align category_theory.limits.colim_map_epi CategoryTheory.Limits.colimMap_epi
+-/
 
+#print CategoryTheory.Limits.hasColimitsOfShape_of_equivalence /-
 /-- We can transport colimits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasColimitsOfShape J C] : HasColimitsOfShape J' C := by constructor; intro F;
   apply has_colimit_of_equivalence_comp e; infer_instance
 #align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShape_of_equivalence
+-/
 
 variable (C)
 
Diff
@@ -173,12 +173,6 @@ def limit (F : J ⥤ C) [HasLimit F] :=
 #align category_theory.limits.limit CategoryTheory.Limits.limit
 -/
 
-/- warning: category_theory.limits.limit.π -> CategoryTheory.Limits.limit.π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.π CategoryTheory.Limits.limit.πₓ'. -/
 /-- The projection from the limit object to a value of the functor. -/
 def limit.π (F : J ⥤ C) [HasLimit F] (j : J) : limit F ⟶ F.obj j :=
   (limit.cone F).π.app j
@@ -191,23 +185,11 @@ theorem limit.cone_x {F : J ⥤ C} [HasLimit F] : (limit.cone F).pt = limit F :=
 #align category_theory.limits.limit.cone_X CategoryTheory.Limits.limit.cone_x
 -/
 
-/- warning: category_theory.limits.limit.cone_π -> CategoryTheory.Limits.limit.cone_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F], Eq.{max (succ u2) (succ u3)} (forall (X : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) X) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F X)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F], Eq.{max (succ u2) (succ u3)} (forall (X : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) X) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) X)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_π CategoryTheory.Limits.limit.cone_πₓ'. -/
 @[simp]
 theorem limit.cone_π {F : J ⥤ C} [HasLimit F] : (limit.cone F).π.app = limit.π _ :=
   rfl
 #align category_theory.limits.limit.cone_π CategoryTheory.Limits.limit.cone_π
 
-/- warning: category_theory.limits.limit.w -> CategoryTheory.Limits.limit.w is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.w CategoryTheory.Limits.limit.wₓ'. -/
 @[simp, reassoc]
 theorem limit.w (F : J ⥤ C) [HasLimit F] {j j' : J} (f : j ⟶ j') :
     limit.π F j ≫ F.map f = limit.π F j' :=
@@ -236,12 +218,6 @@ theorem limit.isLimit_lift {F : J ⥤ C} [HasLimit F] (c : Cone F) :
 #align category_theory.limits.limit.is_limit_lift CategoryTheory.Limits.limit.isLimit_lift
 -/
 
-/- warning: category_theory.limits.limit.lift_π -> CategoryTheory.Limits.limit.lift_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_π CategoryTheory.Limits.limit.lift_πₓ'. -/
 @[simp, reassoc]
 theorem limit.lift_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     limit.lift F c ≫ limit.π F j = c.π.app j :=
@@ -260,12 +236,6 @@ def limMap {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) : limit F 
 #align category_theory.limits.lim_map CategoryTheory.Limits.limMap
 -/
 
-/- warning: category_theory.limits.lim_map_π -> CategoryTheory.Limits.limMap_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_π CategoryTheory.Limits.limMap_πₓ'. -/
 @[simp, reassoc]
 theorem limMap_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) (j : J) :
     limMap α ≫ limit.π G j = limit.π F j ≫ α.app j :=
@@ -287,46 +257,22 @@ theorem limit.coneMorphism_hom {F : J ⥤ C} [HasLimit F] (c : Cone F) :
 #align category_theory.limits.limit.cone_morphism_hom CategoryTheory.Limits.limit.coneMorphism_hom
 -/
 
-/- warning: category_theory.limits.limit.cone_morphism_π -> CategoryTheory.Limits.limit.coneMorphism_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.ConeMorphism.hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.coneMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.ConeMorphism.Hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.coneMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_πₓ'. -/
 theorem limit.coneMorphism_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     (limit.coneMorphism c).Hom ≫ limit.π F j = c.π.app j := by simp
 #align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_π
 
-/- warning: category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp -> CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_compₓ'. -/
 @[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_hom_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso hc (limit.isLimit _)).Hom ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_hom_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp
 
-/- warning: category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp -> CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_compₓ'. -/
 @[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_inv_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso (limit.isLimit _) hc).inv ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_inv_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp
 
-/- warning: category_theory.limits.limit.exists_unique -> CategoryTheory.Limits.limit.existsUnique is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (fun (l : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) l (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (fun (l : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) l (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.exists_unique CategoryTheory.Limits.limit.existsUniqueₓ'. -/
 theorem limit.existsUnique {F : J ⥤ C} [HasLimit F] (t : Cone F) :
     ∃! l : t.pt ⟶ limit F, ∀ j, l ≫ limit.π F j = t.π.app j :=
   (limit.isLimit F).ExistsUnique _
@@ -340,48 +286,24 @@ def limit.isoLimitCone {F : J ⥤ C} [HasLimit F] (t : LimitCone F) : limit F 
 #align category_theory.limits.limit.iso_limit_cone CategoryTheory.Limits.limit.isoLimitCone
 -/
 
-/- warning: category_theory.limits.limit.iso_limit_cone_hom_π -> CategoryTheory.Limits.limit.isoLimitCone_hom_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_πₓ'. -/
 @[simp, reassoc]
 theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j := by
   dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_π
 
-/- warning: category_theory.limits.limit.iso_limit_cone_inv_π -> CategoryTheory.Limits.limit.isoLimitCone_inv_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_πₓ'. -/
 @[simp, reassoc]
 theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j := by
   dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_π
 
-/- warning: category_theory.limits.limit.hom_ext -> CategoryTheory.Limits.limit.hom_ext is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) f (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) f' (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f f')
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) f (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) f' (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f f')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_ext CategoryTheory.Limits.limit.hom_extₓ'. -/
 @[ext]
 theorem limit.hom_ext {F : J ⥤ C} [HasLimit F] {X : C} {f f' : X ⟶ limit F}
     (w : ∀ j, f ≫ limit.π F j = f' ≫ limit.π F j) : f = f' :=
   (limit.isLimit F).hom_ext w
 #align category_theory.limits.limit.hom_ext CategoryTheory.Limits.limit.hom_ext
 
-/- warning: category_theory.limits.limit.lift_map -> CategoryTheory.Limits.limit.lift_map is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α) c))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α)) c))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_mapₓ'. -/
 @[simp]
 theorem limit.lift_map {F G : J ⥤ C} [HasLimit F] [HasLimit G] (c : Cone F) (α : F ⟶ G) :
     limit.lift F c ≫ limMap α = limit.lift G ((Cones.postcompose α).obj c) := by ext;
@@ -395,12 +317,6 @@ theorem limit.lift_cone {F : J ⥤ C} [HasLimit F] : limit.lift F (limit.cone F)
 #align category_theory.limits.limit.lift_cone CategoryTheory.Limits.limit.lift_cone
 -/
 
-/- warning: category_theory.limits.limit.hom_iso -> CategoryTheory.Limits.limit.homIso is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIsoₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and cones with cone point `W`.
@@ -410,21 +326,12 @@ def limit.homIso (F : J ⥤ C) [HasLimit F] (W : C) :
   (limit.isLimit F).homIso W
 #align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIso
 
-/- warning: category_theory.limits.limit.hom_iso_hom -> CategoryTheory.Limits.limit.homIso_hom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_homₓ'. -/
 @[simp]
 theorem limit.homIso_hom (F : J ⥤ C) [HasLimit F] {W : C} (f : ULift (W ⟶ limit F)) :
     (limit.homIso F W).Hom f = (const J).map f.down ≫ (limit.cone F).π :=
   (limit.isLimit F).homIso_hom f
 #align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_hom
 
-/- warning: category_theory.limits.limit.hom_iso' -> CategoryTheory.Limits.limit.homIso' is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (p j) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f)) (p j')))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (p j) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f)) (p j')))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso' CategoryTheory.Limits.limit.homIso'ₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and an explicit componentwise description of cones with cone point `W`.
@@ -482,36 +389,18 @@ def HasLimit.isoOfNatIso {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G)
 #align category_theory.limits.has_limit.iso_of_nat_iso CategoryTheory.Limits.HasLimit.isoOfNatIso
 -/
 
-/- warning: category_theory.limits.has_limit.iso_of_nat_iso_hom_π -> CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_πₓ'. -/
 @[simp, reassoc]
 theorem HasLimit.isoOfNatIso_hom_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).Hom ≫ limit.π G j = limit.π F j ≫ w.Hom.app j :=
   IsLimit.conePointsIsoOfNatIso_hom_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π
 
-/- warning: category_theory.limits.has_limit.iso_of_nat_iso_inv_π -> CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_πₓ'. -/
 @[simp, reassoc]
 theorem HasLimit.isoOfNatIso_inv_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).inv ≫ limit.π F j = limit.π G j ≫ w.inv.app j :=
   IsLimit.conePointsIsoOfNatIso_inv_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π
 
-/- warning: category_theory.limits.has_limit.lift_iso_of_nat_iso_hom -> CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_homₓ'. -/
 @[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone F)
     (w : F ≅ G) :
@@ -520,12 +409,6 @@ theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G]
   IsLimit.lift_comp_conePointsIsoOfNatIso_hom _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom
 
-/- warning: category_theory.limits.has_limit.lift_iso_of_nat_iso_inv -> CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_invₓ'. -/
 @[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone G)
     (w : F ≅ G) :
@@ -534,12 +417,6 @@ theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G]
   IsLimit.lift_comp_conePointsIsoOfNatIso_inv _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv
 
-/- warning: category_theory.limits.has_limit.iso_of_equivalence -> CategoryTheory.Limits.HasLimit.isoOfEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2), (CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2), (CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalenceₓ'. -/
 /-- The limits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -548,9 +425,6 @@ def HasLimit.isoOfEquivalence {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit
   IsLimit.conePointsIsoOfEquivalence (limit.isLimit F) (limit.isLimit G) e w
 #align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalence
 
-/- warning: category_theory.limits.has_limit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -562,12 +436,6 @@ theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C
   simp
 #align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π
 
-/- warning: category_theory.limits.has_limit.iso_of_equivalence_inv_π -> CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) j)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_πₓ'. -/
 @[simp]
 theorem HasLimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -590,12 +458,6 @@ def limit.pre : limit F ⟶ limit (E ⋙ F) :=
 #align category_theory.limits.limit.pre CategoryTheory.Limits.limit.pre
 -/
 
-/- warning: category_theory.limits.limit.pre_π -> CategoryTheory.Limits.limit.pre_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 E k))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_πₓ'. -/
 @[simp, reassoc]
 theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) := by
   erw [is_limit.fac]; rfl
@@ -641,44 +503,23 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasLimit F] (G : C ⥤ D) [HasLimit (F ⋙ G)]
 
-/- warning: category_theory.limits.limit.post -> CategoryTheory.Limits.limit.post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post CategoryTheory.Limits.limit.postₓ'. -/
 /-- The canonical morphism from `G` applied to the limit of `F` to the limit of `F ⋙ G`.
 -/
 def limit.post : G.obj (limit F) ⟶ limit (F ⋙ G) :=
   limit.lift (F ⋙ G) (G.mapCone (limit.cone F))
 #align category_theory.limits.limit.post CategoryTheory.Limits.limit.post
 
-/- warning: category_theory.limits.limit.post_π -> CategoryTheory.Limits.limit.post_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u5} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_πₓ'. -/
 @[simp, reassoc]
 theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) := by
   erw [is_limit.fac]; rfl
 #align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_π
 
-/- warning: category_theory.limits.limit.lift_post -> CategoryTheory.Limits.limit.lift_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F c))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_postₓ'. -/
 @[simp]
 theorem limit.lift_post (c : Cone F) :
     G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) := by ext;
   rw [assoc, limit.post_π, ← G.map_comp, limit.lift_π, limit.lift_π]; rfl
 #align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_post
 
-/- warning: category_theory.limits.limit.post_post -> CategoryTheory.Limits.limit.post_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_postₓ'. -/
 @[simp]
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasLimit ((F ⋙ G) ⋙ H)] :-- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals 
@@ -692,9 +533,6 @@ theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 
 end Post
 
-/- warning: category_theory.limits.limit.pre_post -> CategoryTheory.Limits.limit.pre_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_postₓ'. -/
 theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
     [HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs 
@@ -710,12 +548,6 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
 
 open CategoryTheory.Equivalence
 
-/- warning: category_theory.limits.has_limit_equivalence_comp -> CategoryTheory.Limits.hasLimitEquivalenceComp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceCompₓ'. -/
 instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
   HasLimit.mk
     { Cone := Cone.whisker e.Functor (limit.cone F)
@@ -724,12 +556,6 @@ instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functo
 
 attribute [local elab_without_expected_type] inv_fun_id_assoc
 
-/- warning: category_theory.limits.has_limit_of_equivalence_comp -> CategoryTheory.Limits.hasLimitOfEquivalenceComp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)], CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)], CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimitOfEquivalenceCompₓ'. -/
 -- not entirely sure why this is needed
 /-- If a `E ⋙ F` has a limit, and `E` is an equivalence, we can construct a limit of `F`.
 -/
@@ -763,48 +589,24 @@ end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
-/- warning: category_theory.limits.lim_map_eq_lim_map -> CategoryTheory.Limits.lim_map is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) α)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [F : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {_inst_4 : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) _inst_4 G), Eq.{succ u3} (((CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)).0) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F _inst_4)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F G))) (Prefunctor.map.{succ (max u2 u3), succ u3, max (max (max u4 u2) u3) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u2 u3, u3, max (max (max u4 u2) u3) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) _inst_4 G α) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F _inst_4) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F G) α)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_mapₓ'. -/
 -- We generate this manually since `simps` gives it a weird name.
 @[simp]
 theorem lim_map : lim.map α = limMap α :=
   rfl
 #align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_map
 
-/- warning: category_theory.limits.limit.map_pre -> CategoryTheory.Limits.limit.map_pre is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_preₓ'. -/
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
     lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) := by ext; simp
 #align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_pre
 
-/- warning: category_theory.limits.limit.map_pre' -> CategoryTheory.Limits.limit.map_pre' is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{succ (max u4 u1), max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'ₓ'. -/
 theorem limit.map_pre' [HasLimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     limit.pre F E₂ = limit.pre F E₁ ≫ lim.map (whiskerRight α F) := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'
 
-/- warning: category_theory.limits.limit.id_pre -> CategoryTheory.Limits.limit.id_pre is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) F (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_preₓ'. -/
 theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.leftUnitor F).inv := by tidy
 #align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_pre
 
-/- warning: category_theory.limits.limit.map_post -> CategoryTheory.Limits.limit.map_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_postₓ'. -/
 theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
     (H : C ⥤ D) :/- H (limit F) ⟶ H (limit G) ⟶ limit (G ⋙ H) vs
                H (limit F) ⟶ limit (F ⋙ H) ⟶ limit (G ⋙ H) -/
@@ -817,9 +619,6 @@ theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
   simp only [whisker_right_app, lim_map_π, assoc, limit.post_π_assoc, limit.post_π, ← H.map_comp]
 #align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_post
 
-/- warning: category_theory.limits.lim_yoneda -> CategoryTheory.Limits.limYoneda is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYonedaₓ'. -/
 /-- The isomorphism between
 morphisms from `W` to the cone point of the limit cone for `F`
 and cones over `F` with cone point `W`
@@ -866,24 +665,12 @@ instance limMap_mono' {F G : J ⥤ C} [HasLimitsOfShape J C] (α : F ⟶ G) [Mon
 #align category_theory.limits.lim_map_mono' CategoryTheory.Limits.limMap_mono'
 -/
 
-/- warning: category_theory.limits.lim_map_mono -> CategoryTheory.Limits.limMap_mono is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Mono.{u3, u4} C _inst_3 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_monoₓ'. -/
 instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [∀ j, Mono (α.app j)] :
     Mono (limMap α) :=
   ⟨fun Z u v h =>
     limit.hom_ext fun j => (cancel_mono (α.app j)).1 <| by simpa using h =≫ limit.π _ j⟩
 #align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_mono
 
-/- warning: category_theory.limits.has_limits_of_shape_of_equivalence -> CategoryTheory.Limits.hasLimitsOfShape_of_equivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 J' _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J J' _inst_1 _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalenceₓ'. -/
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
@@ -1010,23 +797,11 @@ def colimit (F : J ⥤ C) [HasColimit F] :=
 #align category_theory.limits.colimit CategoryTheory.Limits.colimit
 -/
 
-/- warning: category_theory.limits.colimit.ι -> CategoryTheory.Limits.colimit.ι is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι CategoryTheory.Limits.colimit.ιₓ'. -/
 /-- The coprojection from a value of the functor to the colimit object. -/
 def colimit.ι (F : J ⥤ C) [HasColimit F] (j : J) : F.obj j ⟶ colimit F :=
   (colimit.cocone F).ι.app j
 #align category_theory.limits.colimit.ι CategoryTheory.Limits.colimit.ι
 
-/- warning: category_theory.limits.colimit.cocone_ι -> CategoryTheory.Limits.colimit.cocone_ι is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.cocone_ι CategoryTheory.Limits.colimit.cocone_ιₓ'. -/
 @[simp]
 theorem colimit.cocone_ι {F : J ⥤ C} [HasColimit F] (j : J) :
     (colimit.cocone F).ι.app j = colimit.ι _ j :=
@@ -1040,12 +815,6 @@ theorem colimit.cocone_x {F : J ⥤ C} [HasColimit F] : (colimit.cocone F).pt =
 #align category_theory.limits.colimit.cocone_X CategoryTheory.Limits.colimit.cocone_x
 -/
 
-/- warning: category_theory.limits.colimit.w -> CategoryTheory.Limits.colimit.w is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.w CategoryTheory.Limits.colimit.wₓ'. -/
 @[simp, reassoc]
 theorem colimit.w (F : J ⥤ C) [HasColimit F] {j j' : J} (f : j ⟶ j') :
     F.map f ≫ colimit.ι F j' = colimit.ι F j :=
@@ -1074,12 +843,6 @@ theorem colimit.isColimit_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
 #align category_theory.limits.colimit.is_colimit_desc CategoryTheory.Limits.colimit.isColimit_desc
 -/
 
-/- warning: category_theory.limits.colimit.ι_desc -> CategoryTheory.Limits.colimit.ι_desc is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_desc CategoryTheory.Limits.colimit.ι_descₓ'. -/
 /-- We have lots of lemmas describing how to simplify `colimit.ι F j ≫ _`,
 and combined with `colimit.ext` we rely on these lemmas for many calculations.
 
@@ -1107,12 +870,6 @@ def colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) : coli
 #align category_theory.limits.colim_map CategoryTheory.Limits.colimMap
 -/
 
-/- warning: category_theory.limits.ι_colim_map -> CategoryTheory.Limits.ι_colimMap is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.ι_colim_map CategoryTheory.Limits.ι_colimMapₓ'. -/
 @[simp, reassoc]
 theorem ι_colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) (j : J) :
     colimit.ι F j ≫ colimMap α = α.app j ≫ colimit.ι G j :=
@@ -1134,22 +891,10 @@ theorem colimit.coconeMorphism_hom {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
 #align category_theory.limits.colimit.cocone_morphism_hom CategoryTheory.Limits.colimit.coconeMorphism_hom
 -/
 
-/- warning: category_theory.limits.colimit.ι_cocone_morphism -> CategoryTheory.Limits.colimit.ι_coconeMorphism is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.CoconeMorphism.hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.coconeMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.CoconeMorphism.Hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.coconeMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphismₓ'. -/
 theorem colimit.ι_coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
     colimit.ι F j ≫ (colimit.coconeMorphism c).Hom = c.ι.app j := by simp
 #align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphism
 
-/- warning: category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom -> CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_homₓ'. -/
 @[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
@@ -1157,12 +902,6 @@ theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {
   IsColimit.comp_coconePointUniqueUpToIso_hom _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom
 
-/- warning: category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv -> CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_invₓ'. -/
 @[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
@@ -1170,12 +909,6 @@ theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {
   IsColimit.comp_coconePointUniqueUpToIso_inv _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv
 
-/- warning: category_theory.limits.colimit.exists_unique -> CategoryTheory.Limits.colimit.existsUnique is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (fun (d : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) d) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (fun (d : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) d) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.exists_unique CategoryTheory.Limits.colimit.existsUniqueₓ'. -/
 theorem colimit.existsUnique {F : J ⥤ C} [HasColimit F] (t : Cocone F) :
     ∃! d : colimit F ⟶ t.pt, ∀ j, colimit.ι F j ≫ d = t.ι.app j :=
   (colimit.isColimit F).ExistsUnique _
@@ -1191,36 +924,18 @@ def colimit.isoColimitCocone {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F)
 #align category_theory.limits.colimit.iso_colimit_cocone CategoryTheory.Limits.colimit.isoColimitCocone
 -/
 
-/- warning: category_theory.limits.colimit.iso_colimit_cocone_ι_hom -> CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_homₓ'. -/
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j := by
   dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom
 
-/- warning: category_theory.limits.colimit.iso_colimit_cocone_ι_inv -> CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)))) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_invₓ'. -/
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j := by
   dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv
 
-/- warning: category_theory.limits.colimit.hom_ext -> CategoryTheory.Limits.colimit.hom_ext is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) X) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f')) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X) f f')
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) X) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f')) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X) f f')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_ext CategoryTheory.Limits.colimit.hom_extₓ'. -/
 @[ext]
 theorem colimit.hom_ext {F : J ⥤ C} [HasColimit F] {X : C} {f f' : colimit F ⟶ X}
     (w : ∀ j, colimit.ι F j ≫ f = colimit.ι F j ≫ f') : f = f' :=
@@ -1235,12 +950,6 @@ theorem colimit.desc_cocone {F : J ⥤ C} [HasColimit F] :
 #align category_theory.limits.colimit.desc_cocone CategoryTheory.Limits.colimit.desc_cocone
 -/
 
-/- warning: category_theory.limits.colimit.hom_iso -> CategoryTheory.Limits.colimit.homIso is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso CategoryTheory.Limits.colimit.homIsoₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and cocones with cone point `W`.
@@ -1250,24 +959,12 @@ def colimit.homIso (F : J ⥤ C) [HasColimit F] (W : C) :
   (colimit.isColimit F).homIso W
 #align category_theory.limits.colimit.hom_iso CategoryTheory.Limits.colimit.homIso
 
-/- warning: category_theory.limits.colimit.hom_iso_hom -> CategoryTheory.Limits.colimit.homIso_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)), Eq.{succ (max u2 u3)} (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W) (CategoryTheory.Iso.hom.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W) (CategoryTheory.Limits.colimit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.unop.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (Opposite.op.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) F)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) W) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.map.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) W (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W) f)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)), Eq.{max (succ u2) (succ u3)} (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W) (CategoryTheory.Iso.hom.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W) (CategoryTheory.Limits.colimit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.map.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) W (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W) f)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso_hom CategoryTheory.Limits.colimit.homIso_homₓ'. -/
 @[simp]
 theorem colimit.homIso_hom (F : J ⥤ C) [HasColimit F] {W : C} (f : ULift (colimit F ⟶ W)) :
     (colimit.homIso F W).Hom f = (colimit.cocone F).ι ≫ (const J).map f.down :=
   (colimit.isColimit F).homIso_hom f
 #align category_theory.limits.colimit.hom_iso_hom CategoryTheory.Limits.colimit.homIso_hom
 
-/- warning: category_theory.limits.colimit.hom_iso' -> CategoryTheory.Limits.colimit.homIso' is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') W (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f) (p j')) (p j)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') W (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f) (p j')) (p j)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso' CategoryTheory.Limits.colimit.homIso'ₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and an explicit componentwise description of cocones with cone point `W`.
@@ -1325,36 +1022,18 @@ def HasColimit.isoOfNatIso {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F
 #align category_theory.limits.has_colimit.iso_of_nat_iso CategoryTheory.Limits.HasColimit.isoOfNatIso
 -/
 
-/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom -> CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_homₓ'. -/
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_hom {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι F j ≫ (HasColimit.isoOfNatIso w).Hom = w.Hom.app j ≫ colimit.ι G j :=
   IsColimit.comp_coconePointsIsoOfNatIso_hom _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom
 
-/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv -> CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_invₓ'. -/
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_inv {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι G j ≫ (HasColimit.isoOfNatIso w).inv = w.inv.app j ≫ colimit.ι F j :=
   IsColimit.comp_coconePointsIsoOfNatIso_inv _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv
 
-/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc -> CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_descₓ'. -/
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone G)
     (w : F ≅ G) :
@@ -1363,12 +1042,6 @@ theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColim
   IsColimit.coconePointsIsoOfNatIso_hom_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc
 
-/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc -> CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_descₓ'. -/
 @[simp, reassoc]
 theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone F)
     (w : F ≅ G) :
@@ -1377,12 +1050,6 @@ theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColim
   IsColimit.coconePointsIsoOfNatIso_inv_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc
 
-/- warning: category_theory.limits.has_colimit.iso_of_equivalence -> CategoryTheory.Limits.HasColimit.isoOfEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2), (CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2), (CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalenceₓ'. -/
 /-- The colimits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -1391,9 +1058,6 @@ def HasColimit.isoOfEquivalence {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasC
   IsColimit.coconePointsIsoOfEquivalence (colimit.isColimit F) (colimit.isColimit G) e w
 #align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalence
 
-/- warning: category_theory.limits.has_colimit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -1405,9 +1069,6 @@ theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K 
   simp
 #align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π
 
-/- warning: category_theory.limits.has_colimit.iso_of_equivalence_inv_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_π is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -1431,12 +1092,6 @@ def colimit.pre : colimit (E ⋙ F) ⟶ colimit F :=
 #align category_theory.limits.colimit.pre CategoryTheory.Limits.colimit.pre
 -/
 
-/- warning: category_theory.limits.colimit.ι_pre -> CategoryTheory.Limits.colimit.ι_pre is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 E k))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_preₓ'. -/
 @[simp, reassoc]
 theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) := by
   erw [is_colimit.fac]; rfl
@@ -1488,12 +1143,6 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasColimit F] (G : C ⥤ D) [HasColimit (F ⋙ G)]
 
-/- warning: category_theory.limits.colimit.post -> CategoryTheory.Limits.colimit.post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.postₓ'. -/
 /-- The canonical morphism from `G` applied to the colimit of `F ⋙ G`
 to `G` applied to the colimit of `F`.
 -/
@@ -1501,32 +1150,17 @@ def colimit.post : colimit (F ⋙ G) ⟶ G.obj (colimit F) :=
   colimit.desc (F ⋙ G) (G.mapCocone (colimit.cocone F))
 #align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.post
 
-/- warning: category_theory.limits.colimit.ι_post -> CategoryTheory.Limits.colimit.ι_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Functor.obj.{u1, u3, u2, u5} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_postₓ'. -/
 @[simp, reassoc]
 theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
   by erw [is_colimit.fac]; rfl
 #align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_post
 
-/- warning: category_theory.limits.colimit.post_desc -> CategoryTheory.Limits.colimit.post_desc is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F c))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_descₓ'. -/
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
     colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) := by ext;
   rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_desc, colimit.ι_desc]; rfl
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
 
-/- warning: category_theory.limits.colimit.post_post -> CategoryTheory.Limits.colimit.post_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_postₓ'. -/
 @[simp]
 theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasColimit
@@ -1544,9 +1178,6 @@ theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 
 end Post
 
-/- warning: category_theory.limits.colimit.pre_post -> CategoryTheory.Limits.colimit.pre_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_post CategoryTheory.Limits.colimit.pre_postₓ'. -/
 theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)]
     [H :
@@ -1565,24 +1196,12 @@ theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J 
 
 open CategoryTheory.Equivalence
 
-/- warning: category_theory.limits.has_colimit_equivalence_comp -> CategoryTheory.Limits.hasColimit_equivalence_comp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_compₓ'. -/
 instance hasColimit_equivalence_comp (e : K ≌ J) [HasColimit F] : HasColimit (e.Functor ⋙ F) :=
   HasColimit.mk
     { Cocone := Cocone.whisker e.Functor (colimit.cocone F)
       IsColimit := IsColimit.whiskerEquivalence (colimit.isColimit F) e }
 #align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_comp
 
-/- warning: category_theory.limits.has_colimit_of_equivalence_comp -> CategoryTheory.Limits.hasColimit_of_equivalence_comp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)], CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)], CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit_of_equivalence_comp CategoryTheory.Limits.hasColimit_of_equivalence_compₓ'. -/
 /-- If a `E ⋙ F` has a colimit, and `E` is an equivalence, we can construct a colimit of `F`.
 -/
 theorem hasColimit_of_equivalence_comp (e : K ≌ J) [HasColimit (e.Functor ⋙ F)] : HasColimit F :=
@@ -1615,32 +1234,17 @@ end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
-/- warning: category_theory.limits.colimit.ι_map -> CategoryTheory.Limits.colimit.ι_map is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) j) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) j))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) j) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) F G α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) j))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_mapₓ'. -/
 @[simp, reassoc]
 theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫ colimit.ι G j := by
   apply is_colimit.fac
 #align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_map
 
-/- warning: category_theory.limits.colimit.map_desc -> CategoryTheory.Limits.colimit.map_desc is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) c)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F α) c))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) α) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) c)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F α)) c))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_descₓ'. -/
 @[simp]
 theorem colimit.map_desc (c : Cocone G) :
     colim.map α ≫ colimit.desc G c = colimit.desc F ((Cocones.precompose α).obj c) := by
   ext <;> rw [← assoc, colimit.ι_map, assoc, colimit.ι_desc, colimit.ι_desc] <;> rfl
 #align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_desc
 
-/- warning: category_theory.limits.colimit.pre_map -> CategoryTheory.Limits.colimit.pre_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_mapₓ'. -/
 theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     colimit.pre F E ≫ colim.map α = colim.map (whiskerLeft E α) ≫ colimit.pre G E := by
   ext <;>
@@ -1648,27 +1252,15 @@ theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     rfl
 #align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_map
 
-/- warning: category_theory.limits.colimit.pre_map' -> CategoryTheory.Limits.colimit.pre_map' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'ₓ'. -/
 theorem colimit.pre_map' [HasColimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     colimit.pre F E₁ = colim.map (whiskerRight α F) ≫ colimit.pre F E₂ := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'
 
-/- warning: category_theory.limits.colimit.pre_id -> CategoryTheory.Limits.colimit.pre_id is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_idₓ'. -/
 theorem colimit.pre_id (F : J ⥤ C) : colimit.pre F (𝟭 _) = colim.map (Functor.leftUnitor F).Hom :=
   by tidy
 #align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_id
 
-/- warning: category_theory.limits.colimit.map_post -> CategoryTheory.Limits.colimit.map_post is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_postₓ'. -/
 theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D]
     (H : C ⥤ D) :/- H (colimit F) ⟶ H (colimit G) ⟶ colimit (G ⋙ H) vs
              H (colimit F) ⟶ colimit (F ⋙ H) ⟶ colimit (G ⋙ H) -/
@@ -1683,9 +1275,6 @@ theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D
   rfl
 #align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_post
 
-/- warning: category_theory.limits.colim_coyoneda -> CategoryTheory.Limits.colimCoyoneda is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyonedaₓ'. -/
 /-- The isomorphism between
 morphisms from the cone point of the colimit cocone for `F` to `W`
 and cocones over `F` with cone point `W`
@@ -1734,24 +1323,12 @@ instance colimMap_epi' {F G : J ⥤ C} [HasColimitsOfShape J C] (α : F ⟶ G) [
 #align category_theory.limits.colim_map_epi' CategoryTheory.Limits.colimMap_epi'
 -/
 
-/- warning: category_theory.limits.colim_map_epi -> CategoryTheory.Limits.colimMap_epi is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Epi.{u3, u4} C _inst_3 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.colim_map_epi CategoryTheory.Limits.colimMap_epiₓ'. -/
 instance colimMap_epi {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) [∀ j, Epi (α.app j)] :
     Epi (colimMap α) :=
   ⟨fun Z u v h =>
     colimit.hom_ext fun j => (cancel_epi (α.app j)).1 <| by simpa using colimit.ι _ j ≫= h⟩
 #align category_theory.limits.colim_map_epi CategoryTheory.Limits.colimMap_epi
 
-/- warning: category_theory.limits.has_colimits_of_shape_of_equivalence -> CategoryTheory.Limits.hasColimitsOfShape_of_equivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 J' _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J J' _inst_1 _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShape_of_equivalenceₓ'. -/
 /-- We can transport colimits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
Diff
@@ -348,10 +348,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_πₓ'. -/
 @[simp, reassoc]
 theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
-    (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j :=
-  by
-  dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]
-  tidy
+    (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j := by
+  dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_π
 
 /- warning: category_theory.limits.limit.iso_limit_cone_inv_π -> CategoryTheory.Limits.limit.isoLimitCone_inv_π is a dubious translation:
@@ -362,10 +360,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_πₓ'. -/
 @[simp, reassoc]
 theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
-    (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j :=
-  by
-  dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]
-  tidy
+    (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j := by
+  dsimp [limit.iso_limit_cone, is_limit.cone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_π
 
 /- warning: category_theory.limits.limit.hom_ext -> CategoryTheory.Limits.limit.hom_ext is a dubious translation:
@@ -388,11 +384,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_mapₓ'. -/
 @[simp]
 theorem limit.lift_map {F G : J ⥤ C} [HasLimit F] [HasLimit G] (c : Cone F) (α : F ⟶ G) :
-    limit.lift F c ≫ limMap α = limit.lift G ((Cones.postcompose α).obj c) :=
-  by
-  ext
-  rw [assoc, lim_map_π, limit.lift_π_assoc, limit.lift_π]
-  rfl
+    limit.lift F c ≫ limMap α = limit.lift G ((Cones.postcompose α).obj c) := by ext;
+  rw [assoc, lim_map_π, limit.lift_π_assoc, limit.lift_π]; rfl
 #align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_map
 
 #print CategoryTheory.Limits.limit.lift_cone /-
@@ -604,10 +597,8 @@ but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_πₓ'. -/
 @[simp, reassoc]
-theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) :=
-  by
-  erw [is_limit.fac]
-  rfl
+theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) := by
+  erw [is_limit.fac]; rfl
 #align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_π
 
 #print CategoryTheory.Limits.limit.lift_pre /-
@@ -669,10 +660,8 @@ but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_πₓ'. -/
 @[simp, reassoc]
-theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) :=
-  by
-  erw [is_limit.fac]
-  rfl
+theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) := by
+  erw [is_limit.fac]; rfl
 #align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_π
 
 /- warning: category_theory.limits.limit.lift_post -> CategoryTheory.Limits.limit.lift_post is a dubious translation:
@@ -683,11 +672,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_postₓ'. -/
 @[simp]
 theorem limit.lift_post (c : Cone F) :
-    G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) :=
-  by
-  ext
-  rw [assoc, limit.post_π, ← G.map_comp, limit.lift_π, limit.lift_π]
-  rfl
+    G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) := by ext;
+  rw [assoc, limit.post_π, ← G.map_comp, limit.lift_π, limit.lift_π]; rfl
 #align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_post
 
 /- warning: category_theory.limits.limit.post_post -> CategoryTheory.Limits.limit.post_post is a dubious translation:
@@ -767,9 +753,7 @@ section
 def lim : (J ⥤ C) ⥤ C where
   obj F := limit F
   map F G α := limMap α
-  map_id' F := by
-    ext
-    erw [lim_map_π, category.id_comp, category.comp_id]
+  map_id' F := by ext; erw [lim_map_π, category.id_comp, category.comp_id]
   map_comp' F G H α β := by
     ext <;> erw [assoc, is_limit.fac, is_limit.fac, ← assoc, is_limit.fac, assoc] <;> rfl
 #align category_theory.limits.lim CategoryTheory.Limits.lim
@@ -795,10 +779,7 @@ theorem lim_map : lim.map α = limMap α :=
 <too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_preₓ'. -/
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
-    lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) :=
-  by
-  ext
-  simp
+    lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) := by ext; simp
 #align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_pre
 
 /- warning: category_theory.limits.limit.map_pre' -> CategoryTheory.Limits.limit.map_pre' is a dubious translation:
@@ -906,12 +887,8 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
-    [HasLimitsOfShape J C] : HasLimitsOfShape J' C :=
-  by
-  constructor
-  intro F
-  apply has_limit_of_equivalence_comp e
-  infer_instance
+    [HasLimitsOfShape J C] : HasLimitsOfShape J' C := by constructor; intro F;
+  apply has_limit_of_equivalence_comp e; infer_instance
 #align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
 
 variable (C)
@@ -1222,10 +1199,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_homₓ'. -/
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
-    colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j :=
-  by
-  dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]
-  tidy
+    colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j := by
+  dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom
 
 /- warning: category_theory.limits.colimit.iso_colimit_cocone_ι_inv -> CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv is a dubious translation:
@@ -1236,10 +1211,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_invₓ'. -/
 @[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
-    t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j :=
-  by
-  dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]
-  tidy
+    t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j := by
+  dsimp [colimit.iso_colimit_cocone, is_colimit.cocone_point_unique_up_to_iso]; tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv
 
 /- warning: category_theory.limits.colimit.hom_ext -> CategoryTheory.Limits.colimit.hom_ext is a dubious translation:
@@ -1465,10 +1438,8 @@ but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_preₓ'. -/
 @[simp, reassoc]
-theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) :=
-  by
-  erw [is_colimit.fac]
-  rfl
+theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) := by
+  erw [is_colimit.fac]; rfl
 #align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_pre
 
 #print CategoryTheory.Limits.colimit.pre_desc /-
@@ -1538,9 +1509,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_postₓ'. -/
 @[simp, reassoc]
 theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
-  by
-  erw [is_colimit.fac]
-  rfl
+  by erw [is_colimit.fac]; rfl
 #align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_post
 
 /- warning: category_theory.limits.colimit.post_desc -> CategoryTheory.Limits.colimit.post_desc is a dubious translation:
@@ -1551,11 +1520,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_descₓ'. -/
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
-    colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) :=
-  by
-  ext
-  rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_desc, colimit.ι_desc]
-  rfl
+    colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) := by ext;
+  rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_desc, colimit.ι_desc]; rfl
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
 
 /- warning: category_theory.limits.colimit.post_post -> CategoryTheory.Limits.colimit.post_post is a dubious translation:
@@ -1639,13 +1605,9 @@ attribute [local simp] colim_map
 def colim : (J ⥤ C) ⥤ C where
   obj F := colimit F
   map F G α := colimMap α
-  map_id' F := by
-    ext
-    erw [ι_colim_map, id_comp, comp_id]
-  map_comp' F G H α β := by
-    ext
-    erw [← assoc, is_colimit.fac, is_colimit.fac, assoc, is_colimit.fac, ← assoc]
-    rfl
+  map_id' F := by ext; erw [ι_colim_map, id_comp, comp_id]
+  map_comp' F G H α β := by ext;
+    erw [← assoc, is_colimit.fac, is_colimit.fac, assoc, is_colimit.fac, ← assoc]; rfl
 #align category_theory.limits.colim CategoryTheory.Limits.colim
 -/
 
@@ -1793,12 +1755,8 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
 /-- We can transport colimits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
-    [HasColimitsOfShape J C] : HasColimitsOfShape J' C :=
-  by
-  constructor
-  intro F
-  apply has_colimit_of_equivalence_comp e
-  infer_instance
+    [HasColimitsOfShape J C] : HasColimitsOfShape J' C := by constructor; intro F;
+  apply has_colimit_of_equivalence_comp e; infer_instance
 #align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShape_of_equivalence
 
 variable (C)
@@ -1834,10 +1792,7 @@ def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op
   uniq s m w := by
     rw [← P.uniq s.unop m.unop]
     · rfl
-    · dsimp
-      intro j
-      rw [← w]
-      rfl
+    · dsimp; intro j; rw [← w]; rfl
 #align category_theory.limits.is_limit.op CategoryTheory.Limits.IsLimit.op
 -/
 
@@ -1851,10 +1806,7 @@ def IsColimit.op {t : Cocone F} (P : IsColimit t) : IsLimit t.op
   uniq s m w := by
     rw [← P.uniq s.unop m.unop]
     · rfl
-    · dsimp
-      intro j
-      rw [← w]
-      rfl
+    · dsimp; intro j; rw [← w]; rfl
 #align category_theory.limits.is_colimit.op CategoryTheory.Limits.IsColimit.op
 -/
 
@@ -1868,10 +1820,7 @@ def IsLimit.unop {t : Cone F.op} (P : IsLimit t) : IsColimit t.unop
   uniq s m w := by
     rw [← P.uniq s.op m.op]
     · rfl
-    · dsimp
-      intro j
-      rw [← w]
-      rfl
+    · dsimp; intro j; rw [← w]; rfl
 #align category_theory.limits.is_limit.unop CategoryTheory.Limits.IsLimit.unop
 -/
 
@@ -1885,10 +1834,7 @@ def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop
   uniq s m w := by
     rw [← P.uniq s.op m.op]
     · rfl
-    · dsimp
-      intro j
-      rw [← w]
-      rfl
+    · dsimp; intro j; rw [← w]; rfl
 #align category_theory.limits.is_colimit.unop CategoryTheory.Limits.IsColimit.unop
 -/
 
Diff
@@ -418,10 +418,7 @@ def limit.homIso (F : J ⥤ C) [HasLimit F] (W : C) :
 #align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIso
 
 /- warning: category_theory.limits.limit.hom_iso_hom -> CategoryTheory.Limits.limit.homIso_hom is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))), Eq.{succ (max u2 u3)} (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W)) (CategoryTheory.Iso.hom.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.unop.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.op.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.op.{succ u4} C W))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) F (CategoryTheory.Functor.map.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (Opposite.unop.{succ u4} C (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f)) (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))), Eq.{max (succ u2) (succ u3)} (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W)) (CategoryTheory.Iso.hom.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) F (Prefunctor.map.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f)) (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_homₓ'. -/
 @[simp]
 theorem limit.homIso_hom (F : J ⥤ C) [HasLimit F] {W : C} (f : ULift (W ⟶ limit F)) :
@@ -559,10 +556,7 @@ def HasLimit.isoOfEquivalence {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit
 #align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalence
 
 /- warning: category_theory.limits.has_limit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.map.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) k (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Equivalence.counit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G)) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.map.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Equivalence.counit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
@@ -697,10 +691,7 @@ theorem limit.lift_post (c : Cone F) :
 #align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_post
 
 /- warning: category_theory.limits.limit.post_post -> CategoryTheory.Limits.limit.post_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.map.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.map.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_postₓ'. -/
 @[simp]
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
@@ -716,10 +707,7 @@ theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 end Post
 
 /- warning: category_theory.limits.limit.pre_post -> CategoryTheory.Limits.limit.pre_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasLimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [_inst_8 : CategoryTheory.Limits.HasLimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (CategoryTheory.Functor.map.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6)) (CategoryTheory.Limits.limit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (CategoryTheory.Limits.limit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E _inst_8))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasLimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [_inst_8 : CategoryTheory.Limits.HasLimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (Prefunctor.map.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6)) (CategoryTheory.Limits.limit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) _inst_8) (CategoryTheory.Limits.limit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E _inst_8))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_postₓ'. -/
 theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
@@ -804,10 +792,7 @@ theorem lim_map : lim.map α = limMap α :=
 #align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_map
 
 /- warning: category_theory.limits.limit.map_pre -> CategoryTheory.Limits.limit.map_pre is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (CategoryTheory.Functor.map.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u5), max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (Prefunctor.map.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F G α) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_preₓ'. -/
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
     lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) :=
@@ -837,10 +822,7 @@ theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.lef
 #align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_pre
 
 /- warning: category_theory.limits.limit.map_post -> CategoryTheory.Limits.limit.map_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.limMap.{u1, u2, u3, u5} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) α)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limMap.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.limMap.{u1, u2, u3, u5} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) α)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limMap.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_postₓ'. -/
 theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
     (H : C ⥤ D) :/- H (limit F) ⟶ H (limit G) ⟶ limit (G ⋙ H) vs
@@ -855,10 +837,7 @@ theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
 #align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_post
 
 /- warning: category_theory.limits.lim_yoneda -> CategoryTheory.Limits.limYoneda is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max u1 u3 u2 u4) u4 u3 u2, max (max u2 u3) (max u4 u3 u2) (max u1 u3 u2 u4) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max u4 u3 u2, max u1 u3 u2 u4, u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u3 u2, u4, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} C _inst_3 (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.yoneda.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max (succ u3) u3 u2, max (max u3 u4 (succ u3)) u4 u3 u2, max u3 (max u3 u2) (succ u3) (succ (max u3 u2)), max (max u4 u3) (max u4 u3 u2) (max u3 u4 (succ u3)) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, succ (max u3 u2), max u3 u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max (max u4 u2) u3) u1, max (max (max (max (max (max u4 u3) u2 u3) (succ u2) (succ u3)) (max (max u4 u3) u2) u1) u4 u2 u3) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u4 u2 u3, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max (max u4 u2) u3, max (max (max u4 u2) u3) u1, max (max u4 (succ u2)) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u3 u2, u3, max u4 u2 u3, max (max (max u4 u3) u2) u1, u4, max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u2 u3, u4, max u4 (succ u3), max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} C _inst_3 (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.yoneda.{u3, u4} C _inst_3) (Prefunctor.obj.{max (succ (max u2 u3)) (succ (succ u3)), max (max (max (max (succ (max u2 u3)) (succ u3)) (succ (succ u3))) (succ u3)) (succ u4), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, max (succ u2) (succ u3), max u2 u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYonedaₓ'. -/
 /-- The isomorphism between
 morphisms from `W` to the cone point of the limit cone for `F`
@@ -1440,10 +1419,7 @@ def HasColimit.isoOfEquivalence {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasC
 #align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalence
 
 /- warning: category_theory.limits.has_colimit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.map.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j) (CategoryTheory.NatTrans.app.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Equivalence.unit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1)) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.map.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1)) j) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j) (CategoryTheory.NatTrans.app.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Equivalence.unit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
@@ -1457,10 +1433,7 @@ theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K 
 #align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π
 
 /- warning: category_theory.limits.has_colimit.iso_of_equivalence_inv_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_π is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.map.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Equivalence.counitInv.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.map.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Equivalence.counitInv.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
@@ -1586,10 +1559,7 @@ theorem colimit.post_desc (c : Cocone F) :
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
 
 /- warning: category_theory.limits.colimit.post_post -> CategoryTheory.Limits.colimit.post_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)))) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.colimit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8) (CategoryTheory.Functor.map.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6))) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)))) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.colimit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8) (Prefunctor.map.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6))) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_postₓ'. -/
 @[simp]
 theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
@@ -1609,10 +1579,7 @@ theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 end Post
 
 /- warning: category_theory.limits.colimit.pre_post -> CategoryTheory.Limits.colimit.pre_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasColimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [H : CategoryTheory.Limits.HasColimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G H) (CategoryTheory.Functor.map.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) H) (CategoryTheory.Limits.colimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E H) (CategoryTheory.Limits.colimit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasColimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [H : CategoryTheory.Limits.HasColimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G H) (Prefunctor.map.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) H) (CategoryTheory.Limits.colimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E H) (CategoryTheory.Limits.colimit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_post CategoryTheory.Limits.colimit.pre_postₓ'. -/
 theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)]
@@ -1710,10 +1677,7 @@ theorem colimit.map_desc (c : Cocone G) :
 #align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_desc
 
 /- warning: category_theory.limits.colimit.pre_map -> CategoryTheory.Limits.colimit.pre_map is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.map.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F G α)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.obj.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u5), max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.map.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F G α)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G)) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_mapₓ'. -/
 theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     colimit.pre F E ≫ colim.map α = colim.map (whiskerLeft E α) ≫ colimit.pre G E := by
@@ -1723,10 +1687,7 @@ theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
 #align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_map
 
 /- warning: category_theory.limits.colimit.pre_map' -> CategoryTheory.Limits.colimit.pre_map' is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{succ (max u4 u1), max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Functor.obj.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F)) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'ₓ'. -/
 theorem colimit.pre_map' [HasColimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     colimit.pre F E₁ = colim.map (whiskerRight α F) ≫ colimit.pre F E₂ := by
@@ -1744,10 +1705,7 @@ theorem colimit.pre_id (F : J ⥤ C) : colimit.pre F (𝟭 _) = colim.map (Funct
 #align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_id
 
 /- warning: category_theory.limits.colimit.map_post -> CategoryTheory.Limits.colimit.map_post is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) F G α))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{max u2 u4, u4, max u1 u4 u2 u6, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u2 u4, u4, max u1 u4 u2 u6, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))))
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) F G α))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (Prefunctor.obj.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (Prefunctor.map.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_postₓ'. -/
 theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D]
     (H : C ⥤ D) :/- H (colimit F) ⟶ H (colimit G) ⟶ colimit (G ⋙ H) vs
@@ -1764,10 +1722,7 @@ theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D
 #align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_post
 
 /- warning: category_theory.limits.colim_coyoneda -> CategoryTheory.Limits.colimCoyoneda is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max u1 u3 u2 u4) u4 u3 u2, max (max u2 u3) (max u4 u3 u2) (max u1 u3 u2 u4) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max u4 u3 u2, max u1 u3 u2 u4, u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.op.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u3 u2, u4, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.coyoneda.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max (succ u3) u3 u2, max (max u3 u4 (succ u3)) u4 u3 u2, max u3 (max u3 u2) (succ u3) (succ (max u3 u2)), max (max u4 u3) (max u4 u3 u2) (max u3 u4 (succ u3)) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, succ (max u3 u2), max u3 u2} C _inst_3 Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
-but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max (max u4 u2) u3) u1, max (max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4) (max (max u2 u1) u4) u3) (max u2 u3) u4) u2 u3} (CategoryTheory.Functor.{max u2 u3, max (max u2 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max (max u4 u2) u3, max (max (max u4 u2) u3) u1, max (max u4 (succ u2)) (succ u3)} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max (max u2 u3) u4, max (max (max u2 u1) u4) u3, u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.op.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u3, max u4 u3, max (max u2 u3) u4, u4, max u4 (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.coyoneda.{u3, u4} C _inst_3) (Prefunctor.obj.{max (succ (max u2 u3)) (succ (succ u3)), max (max (max (max (succ (max u2 u3)) (succ u3)) (succ (succ u3))) (succ u3)) (succ u4), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, max (succ u2) (succ u3), max u2 u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyonedaₓ'. -/
 /-- The isomorphism between
 morphisms from the cone point of the colimit cocone for `F` to `W`
Diff
@@ -208,7 +208,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.w CategoryTheory.Limits.limit.wₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.w (F : J ⥤ C) [HasLimit F] {j j' : J} (f : j ⟶ j') :
     limit.π F j ≫ F.map f = limit.π F j' :=
   (limit.cone F).w f
@@ -242,7 +242,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_π CategoryTheory.Limits.limit.lift_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.lift_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     limit.lift F c ≫ limit.π F j = c.π.app j :=
   IsLimit.fac _ c j
@@ -266,7 +266,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_π CategoryTheory.Limits.limMap_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limMap_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) (j : J) :
     limMap α ≫ limit.π G j = limit.π F j ≫ α.app j :=
   limit.lift_π _ j
@@ -303,7 +303,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_compₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_hom_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso hc (limit.isLimit _)).Hom ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_hom_comp _ _ _
@@ -315,7 +315,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_compₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.conePointUniqueUpToIso_inv_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso (limit.isLimit _) hc).inv ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_inv_comp _ _ _
@@ -346,7 +346,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j :=
   by
@@ -360,7 +360,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j :=
   by
@@ -498,7 +498,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasLimit.isoOfNatIso_hom_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).Hom ≫ limit.π G j = limit.π F j ≫ w.Hom.app j :=
   IsLimit.conePointsIsoOfNatIso_hom_comp _ _ _ _
@@ -510,7 +510,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasLimit.isoOfNatIso_inv_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).inv ≫ limit.π F j = limit.π G j ≫ w.inv.app j :=
   IsLimit.conePointsIsoOfNatIso_inv_comp _ _ _ _
@@ -522,7 +522,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_homₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone F)
     (w : F ≅ G) :
     limit.lift F t ≫ (HasLimit.isoOfNatIso w).Hom =
@@ -536,7 +536,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_invₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone G)
     (w : F ≅ G) :
     limit.lift G t ≫ (HasLimit.isoOfNatIso w).inv =
@@ -609,7 +609,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) :=
   by
   erw [is_limit.fac]
@@ -674,7 +674,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_πₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) :=
   by
   erw [is_limit.fac]
@@ -1090,7 +1090,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.w CategoryTheory.Limits.colimit.wₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.w (F : J ⥤ C) [HasColimit F] {j j' : J} (f : j ⟶ j') :
     F.map f ≫ colimit.ι F j' = colimit.ι F j :=
   (colimit.cocone F).w f
@@ -1133,7 +1133,7 @@ right associated, and it's hard to apply these lemmas about `colimit.ι`.
 We thus use `reassoc` to define additional `@[simp]` lemmas, with an arbitrary extra morphism.
 (see `tactic/reassoc_axiom.lean`)
  -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.ι_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
     colimit.ι F j ≫ colimit.desc F c = c.ι.app j :=
   IsColimit.fac _ c j
@@ -1157,7 +1157,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.ι_colim_map CategoryTheory.Limits.ι_colimMapₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem ι_colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) (j : J) :
     colimit.ι F j ≫ colimMap α = α.app j ≫ colimit.ι G j :=
   colimit.ι_desc _ j
@@ -1194,7 +1194,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_homₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
     colimit.ι F j ≫ (IsColimit.coconePointUniqueUpToIso (colimit.isColimit _) hc).Hom = c.ι.app j :=
@@ -1207,7 +1207,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_invₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
     colimit.ι F j ≫ (IsColimit.coconePointUniqueUpToIso hc (colimit.isColimit _)).inv = c.ι.app j :=
@@ -1241,7 +1241,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_homₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j :=
   by
@@ -1255,7 +1255,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)))) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_invₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j :=
   by
@@ -1379,7 +1379,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_homₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_hom {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι F j ≫ (HasColimit.isoOfNatIso w).Hom = w.Hom.app j ≫ colimit.ι G j :=
   IsColimit.comp_coconePointsIsoOfNatIso_hom _ _ _ _
@@ -1391,7 +1391,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_invₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasColimit.isoOfNatIso_ι_inv {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι G j ≫ (HasColimit.isoOfNatIso w).inv = w.inv.app j ≫ colimit.ι F j :=
   IsColimit.comp_coconePointsIsoOfNatIso_inv _ _ _ _
@@ -1403,7 +1403,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_descₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone G)
     (w : F ≅ G) :
     (HasColimit.isoOfNatIso w).Hom ≫ colimit.desc G t =
@@ -1417,7 +1417,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_descₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone F)
     (w : F ≅ G) :
     (HasColimit.isoOfNatIso w).inv ≫ colimit.desc F t =
@@ -1491,7 +1491,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_preₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) :=
   by
   erw [is_colimit.fac]
@@ -1499,7 +1499,7 @@ theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = co
 #align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_pre
 
 #print CategoryTheory.Limits.colimit.pre_desc /-
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.pre_desc (c : Cocone F) :
     colimit.pre F E ≫ colimit.desc F c = colimit.desc (E ⋙ F) (c.whisker E) := by
   ext <;> rw [← assoc, colimit.ι_pre] <;> simp
@@ -1563,7 +1563,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_postₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
   by
   erw [is_colimit.fac]
@@ -1692,7 +1692,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) j) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) F G α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) j))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_mapₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫ colimit.ι G j := by
   apply is_colimit.fac
 #align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_map
Diff
@@ -791,11 +791,17 @@ end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
+/- warning: category_theory.limits.lim_map_eq_lim_map -> CategoryTheory.Limits.lim_map is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) α)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [F : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {_inst_4 : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) _inst_4 G), Eq.{succ u3} (((CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)).0) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F _inst_4)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F G))) (Prefunctor.map.{succ (max u2 u3), succ u3, max (max (max u4 u2) u3) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u2 u3, u3, max (max (max u4 u2) u3) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) _inst_4 G α) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F _inst_4) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 F G) α)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_mapₓ'. -/
 -- We generate this manually since `simps` gives it a weird name.
 @[simp]
-theorem limMap_eq_limMap : lim.map α = limMap α :=
+theorem lim_map : lim.map α = limMap α :=
   rfl
-#align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.limMap_eq_limMap
+#align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_map
 
 /- warning: category_theory.limits.limit.map_pre -> CategoryTheory.Limits.limit.map_pre is a dubious translation:
 lean 3 declaration is
Diff
@@ -912,22 +912,22 @@ instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [
     limit.hom_ext fun j => (cancel_mono (α.app j)).1 <| by simpa using h =≫ limit.π _ j⟩
 #align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_mono
 
-/- warning: category_theory.limits.has_limits_of_shape_of_equivalence -> CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence is a dubious translation:
+/- warning: category_theory.limits.has_limits_of_shape_of_equivalence -> CategoryTheory.Limits.hasLimitsOfShape_of_equivalence is a dubious translation:
 lean 3 declaration is
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 J' _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
 but is expected to have type
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J J' _inst_1 _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalenceₓ'. -/
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalenceₓ'. -/
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
-theorem hasLimitsOfShapeOfEquivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
+theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasLimitsOfShape J C] : HasLimitsOfShape J' C :=
   by
   constructor
   intro F
   apply has_limit_of_equivalence_comp e
   infer_instance
-#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence
+#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
 
 variable (C)
 
Diff
@@ -685,7 +685,7 @@ theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map
 lean 3 declaration is
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
 but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F c))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_postₓ'. -/
 @[simp]
 theorem limit.lift_post (c : Cone F) :
@@ -1568,7 +1568,7 @@ theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G =
 lean 3 declaration is
   forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
 but is expected to have type
-  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F c))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_descₓ'. -/
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
 
 ! This file was ported from Lean 3 source module category_theory.limits.has_limits
-! leanprover-community/mathlib commit e11bafa5284544728bd3b189942e930e0d4701de
+! leanprover-community/mathlib commit ee05e9ce1322178f0c12004eb93c00d2c8c00ed2
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Category.Ulift
 /-!
 # Existence of limits and colimits
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In `category_theory.limits.is_limit` we defined `is_limit c`,
 the data showing that a cone `c` is a limit cone.
 
Diff
@@ -75,34 +75,45 @@ variable {F : J ⥤ C}
 
 section Limit
 
+#print CategoryTheory.Limits.LimitCone /-
 /-- `limit_cone F` contains a cone over `F` together with the information that it is a limit. -/
 @[nolint has_nonempty_instance]
 structure LimitCone (F : J ⥤ C) where
   Cone : Cone F
   IsLimit : IsLimit cone
 #align category_theory.limits.limit_cone CategoryTheory.Limits.LimitCone
+-/
 
+#print CategoryTheory.Limits.HasLimit /-
 /-- `has_limit F` represents the mere existence of a limit for `F`. -/
 class HasLimit (F : J ⥤ C) : Prop where mk' ::
   exists_limit : Nonempty (LimitCone F)
 #align category_theory.limits.has_limit CategoryTheory.Limits.HasLimit
+-/
 
+#print CategoryTheory.Limits.HasLimit.mk /-
 theorem HasLimit.mk {F : J ⥤ C} (d : LimitCone F) : HasLimit F :=
   ⟨Nonempty.intro d⟩
 #align category_theory.limits.has_limit.mk CategoryTheory.Limits.HasLimit.mk
+-/
 
+#print CategoryTheory.Limits.getLimitCone /-
 /-- Use the axiom of choice to extract explicit `limit_cone F` from `has_limit F`. -/
 def getLimitCone (F : J ⥤ C) [HasLimit F] : LimitCone F :=
   Classical.choice <| HasLimit.exists_limit
 #align category_theory.limits.get_limit_cone CategoryTheory.Limits.getLimitCone
+-/
 
 variable (J C)
 
+#print CategoryTheory.Limits.HasLimitsOfShape /-
 /-- `C` has limits of shape `J` if there exists a limit for every functor `F : J ⥤ C`. -/
 class HasLimitsOfShape : Prop where
   HasLimit : ∀ F : J ⥤ C, HasLimit F := by infer_instance
 #align category_theory.limits.has_limits_of_shape CategoryTheory.Limits.HasLimitsOfShape
+-/
 
+#print CategoryTheory.Limits.HasLimitsOfSize /-
 /-- `C` has all limits of size `v₁ u₁` (`has_limits_of_size.{v₁ u₁} C`)
 if it has limits of every shape `J : Type u₁` with `[category.{v₁} J]`.
 -/
@@ -110,85 +121,131 @@ class HasLimitsOfSize (C : Type u) [Category.{v} C] : Prop where
   HasLimitsOfShape : ∀ (J : Type u₁) [𝒥 : Category.{v₁} J], HasLimitsOfShape J C := by
     infer_instance
 #align category_theory.limits.has_limits_of_size CategoryTheory.Limits.HasLimitsOfSize
+-/
 
+#print CategoryTheory.Limits.HasLimits /-
 /-- `C` has all (small) limits if it has limits of every shape that is as big as its hom-sets. -/
 abbrev HasLimits (C : Type u) [Category.{v} C] : Prop :=
   HasLimitsOfSize.{v, v} C
 #align category_theory.limits.has_limits CategoryTheory.Limits.HasLimits
+-/
 
-theorem HasLimits.hasLimitsOfShape {C : Type u} [Category.{v} C] [HasLimits C] (J : Type v)
+#print CategoryTheory.Limits.HasLimits.has_limits_of_shape /-
+theorem HasLimits.has_limits_of_shape {C : Type u} [Category.{v} C] [HasLimits C] (J : Type v)
     [Category.{v} J] : HasLimitsOfShape J C :=
   HasLimitsOfSize.hasLimitsOfShape J
-#align category_theory.limits.has_limits.has_limits_of_shape CategoryTheory.Limits.HasLimits.hasLimitsOfShape
+#align category_theory.limits.has_limits.has_limits_of_shape CategoryTheory.Limits.HasLimits.has_limits_of_shape
+-/
 
 variable {J C}
 
+#print CategoryTheory.Limits.hasLimitOfHasLimitsOfShape /-
 -- see Note [lower instance priority]
-instance (priority := 100) hasLimit_of_hasLimitsOfShape {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasLimitOfHasLimitsOfShape {J : Type u₁} [Category.{v₁} J]
     [H : HasLimitsOfShape J C] (F : J ⥤ C) : HasLimit F :=
   HasLimitsOfShape.hasLimit F
-#align category_theory.limits.has_limit_of_has_limits_of_shape CategoryTheory.Limits.hasLimit_of_hasLimitsOfShape
+#align category_theory.limits.has_limit_of_has_limits_of_shape CategoryTheory.Limits.hasLimitOfHasLimitsOfShape
+-/
 
+#print CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits /-
 -- see Note [lower instance priority]
-instance (priority := 100) hasLimitsOfShape_of_has_limits {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasLimitsOfShapeOfHasLimits {J : Type u₁} [Category.{v₁} J]
     [H : HasLimitsOfSize.{v₁, u₁} C] : HasLimitsOfShape J C :=
   HasLimitsOfSize.hasLimitsOfShape J
-#align category_theory.limits.has_limits_of_shape_of_has_limits CategoryTheory.Limits.hasLimitsOfShape_of_has_limits
+#align category_theory.limits.has_limits_of_shape_of_has_limits CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits
+-/
 
+#print CategoryTheory.Limits.limit.cone /-
 -- Interface to the `has_limit` class.
 /-- An arbitrary choice of limit cone for a functor. -/
-def Limit.cone (F : J ⥤ C) [HasLimit F] : Cone F :=
+def limit.cone (F : J ⥤ C) [HasLimit F] : Cone F :=
   (getLimitCone F).Cone
-#align category_theory.limits.limit.cone CategoryTheory.Limits.Limit.cone
+#align category_theory.limits.limit.cone CategoryTheory.Limits.limit.cone
+-/
 
+#print CategoryTheory.Limits.limit /-
 /-- An arbitrary choice of limit object of a functor. -/
 def limit (F : J ⥤ C) [HasLimit F] :=
-  (Limit.cone F).x
+  (limit.cone F).pt
 #align category_theory.limits.limit CategoryTheory.Limits.limit
+-/
 
+/- warning: category_theory.limits.limit.π -> CategoryTheory.Limits.limit.π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.π CategoryTheory.Limits.limit.πₓ'. -/
 /-- The projection from the limit object to a value of the functor. -/
 def limit.π (F : J ⥤ C) [HasLimit F] (j : J) : limit F ⟶ F.obj j :=
-  (Limit.cone F).π.app j
+  (limit.cone F).π.app j
 #align category_theory.limits.limit.π CategoryTheory.Limits.limit.π
 
+#print CategoryTheory.Limits.limit.cone_x /-
 @[simp]
-theorem limit.cone_x {F : J ⥤ C} [HasLimit F] : (Limit.cone F).x = limit F :=
+theorem limit.cone_x {F : J ⥤ C} [HasLimit F] : (limit.cone F).pt = limit F :=
   rfl
 #align category_theory.limits.limit.cone_X CategoryTheory.Limits.limit.cone_x
+-/
 
+/- warning: category_theory.limits.limit.cone_π -> CategoryTheory.Limits.limit.cone_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F], Eq.{max (succ u2) (succ u3)} (forall (X : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) X) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F X)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F], Eq.{max (succ u2) (succ u3)} (forall (X : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) X) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) X)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_π CategoryTheory.Limits.limit.cone_πₓ'. -/
 @[simp]
-theorem limit.cone_π {F : J ⥤ C} [HasLimit F] : (Limit.cone F).π.app = limit.π _ :=
+theorem limit.cone_π {F : J ⥤ C} [HasLimit F] : (limit.cone F).π.app = limit.π _ :=
   rfl
 #align category_theory.limits.limit.cone_π CategoryTheory.Limits.limit.cone_π
 
+/- warning: category_theory.limits.limit.w -> CategoryTheory.Limits.limit.w is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.w CategoryTheory.Limits.limit.wₓ'. -/
 @[simp, reassoc.1]
 theorem limit.w (F : J ⥤ C) [HasLimit F] {j j' : J} (f : j ⟶ j') :
     limit.π F j ≫ F.map f = limit.π F j' :=
-  (Limit.cone F).w f
+  (limit.cone F).w f
 #align category_theory.limits.limit.w CategoryTheory.Limits.limit.w
 
+#print CategoryTheory.Limits.limit.isLimit /-
 /-- Evidence that the arbitrary choice of cone provied by `limit.cone F` is a limit cone. -/
-def limit.isLimit (F : J ⥤ C) [HasLimit F] : IsLimit (Limit.cone F) :=
+def limit.isLimit (F : J ⥤ C) [HasLimit F] : IsLimit (limit.cone F) :=
   (getLimitCone F).IsLimit
 #align category_theory.limits.limit.is_limit CategoryTheory.Limits.limit.isLimit
+-/
 
+#print CategoryTheory.Limits.limit.lift /-
 /-- The morphism from the cone point of any other cone to the limit object. -/
-def limit.lift (F : J ⥤ C) [HasLimit F] (c : Cone F) : c.x ⟶ limit F :=
+def limit.lift (F : J ⥤ C) [HasLimit F] (c : Cone F) : c.pt ⟶ limit F :=
   (limit.isLimit F).lift c
 #align category_theory.limits.limit.lift CategoryTheory.Limits.limit.lift
+-/
 
+#print CategoryTheory.Limits.limit.isLimit_lift /-
 @[simp]
 theorem limit.isLimit_lift {F : J ⥤ C} [HasLimit F] (c : Cone F) :
     (limit.isLimit F).lift c = limit.lift F c :=
   rfl
 #align category_theory.limits.limit.is_limit_lift CategoryTheory.Limits.limit.isLimit_lift
+-/
 
+/- warning: category_theory.limits.limit.lift_π -> CategoryTheory.Limits.limit.lift_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_π CategoryTheory.Limits.limit.lift_πₓ'. -/
 @[simp, reassoc.1]
 theorem limit.lift_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     limit.lift F c ≫ limit.π F j = c.π.app j :=
   IsLimit.fac _ c j
 #align category_theory.limits.limit.lift_π CategoryTheory.Limits.limit.lift_π
 
+#print CategoryTheory.Limits.limMap /-
 /-- Functoriality of limits.
 
 Usually this morphism should be accessed through `lim.map`,
@@ -198,51 +255,94 @@ but not necessarily for all functors of shape `J`.
 def limMap {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) : limit F ⟶ limit G :=
   IsLimit.map _ (limit.isLimit G) α
 #align category_theory.limits.lim_map CategoryTheory.Limits.limMap
+-/
 
+/- warning: category_theory.limits.lim_map_π -> CategoryTheory.Limits.limMap_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_π CategoryTheory.Limits.limMap_πₓ'. -/
 @[simp, reassoc.1]
 theorem limMap_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) (j : J) :
     limMap α ≫ limit.π G j = limit.π F j ≫ α.app j :=
   limit.lift_π _ j
 #align category_theory.limits.lim_map_π CategoryTheory.Limits.limMap_π
 
+#print CategoryTheory.Limits.limit.coneMorphism /-
 /-- The cone morphism from any cone to the arbitrary choice of limit cone. -/
-def limit.coneMorphism {F : J ⥤ C} [HasLimit F] (c : Cone F) : c ⟶ Limit.cone F :=
+def limit.coneMorphism {F : J ⥤ C} [HasLimit F] (c : Cone F) : c ⟶ limit.cone F :=
   (limit.isLimit F).liftConeMorphism c
 #align category_theory.limits.limit.cone_morphism CategoryTheory.Limits.limit.coneMorphism
+-/
 
+#print CategoryTheory.Limits.limit.coneMorphism_hom /-
 @[simp]
 theorem limit.coneMorphism_hom {F : J ⥤ C} [HasLimit F] (c : Cone F) :
     (limit.coneMorphism c).Hom = limit.lift F c :=
   rfl
 #align category_theory.limits.limit.cone_morphism_hom CategoryTheory.Limits.limit.coneMorphism_hom
+-/
 
+/- warning: category_theory.limits.limit.cone_morphism_π -> CategoryTheory.Limits.limit.coneMorphism_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.ConeMorphism.hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.coneMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.ConeMorphism.Hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.coneMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_πₓ'. -/
 theorem limit.coneMorphism_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
     (limit.coneMorphism c).Hom ≫ limit.π F j = c.π.app j := by simp
 #align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_π
 
+/- warning: category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp -> CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_compₓ'. -/
 @[simp, reassoc.1]
 theorem limit.conePointUniqueUpToIso_hom_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso hc (limit.isLimit _)).Hom ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_hom_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_hom_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_hom_comp
 
+/- warning: category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp -> CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsLimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsLimit.conePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.limit.isLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_compₓ'. -/
 @[simp, reassoc.1]
 theorem limit.conePointUniqueUpToIso_inv_comp {F : J ⥤ C} [HasLimit F] {c : Cone F} (hc : IsLimit c)
     (j : J) : (IsLimit.conePointUniqueUpToIso (limit.isLimit _) hc).inv ≫ limit.π F j = c.π.app j :=
   IsLimit.conePointUniqueUpToIso_inv_comp _ _ _
 #align category_theory.limits.limit.cone_point_unique_up_to_iso_inv_comp CategoryTheory.Limits.limit.conePointUniqueUpToIso_inv_comp
 
+/- warning: category_theory.limits.limit.exists_unique -> CategoryTheory.Limits.limit.existsUnique is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (fun (l : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) l (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (fun (l : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) l (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.exists_unique CategoryTheory.Limits.limit.existsUniqueₓ'. -/
 theorem limit.existsUnique {F : J ⥤ C} [HasLimit F] (t : Cone F) :
-    ∃! l : t.x ⟶ limit F, ∀ j, l ≫ limit.π F j = t.π.app j :=
+    ∃! l : t.pt ⟶ limit F, ∀ j, l ≫ limit.π F j = t.π.app j :=
   (limit.isLimit F).ExistsUnique _
 #align category_theory.limits.limit.exists_unique CategoryTheory.Limits.limit.existsUnique
 
+#print CategoryTheory.Limits.limit.isoLimitCone /-
 /-- Given any other limit cone for `F`, the chosen `limit F` is isomorphic to the cone point.
 -/
-def limit.isoLimitCone {F : J ⥤ C} [HasLimit F] (t : LimitCone F) : limit F ≅ t.Cone.x :=
+def limit.isoLimitCone {F : J ⥤ C} [HasLimit F] (t : LimitCone F) : limit F ≅ t.Cone.pt :=
   IsLimit.conePointUniqueUpToIso (limit.isLimit F) t.IsLimit
 #align category_theory.limits.limit.iso_limit_cone CategoryTheory.Limits.limit.isoLimitCone
+-/
 
+/- warning: category_theory.limits.limit.iso_limit_cone_hom_π -> CategoryTheory.Limits.limit.isoLimitCone_hom_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_πₓ'. -/
 @[simp, reassoc.1]
 theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).Hom ≫ t.Cone.π.app j = limit.π F j :=
@@ -251,6 +351,12 @@ theorem limit.isoLimitCone_hom_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (
   tidy
 #align category_theory.limits.limit.iso_limit_cone_hom_π CategoryTheory.Limits.limit.isoLimitCone_hom_π
 
+/- warning: category_theory.limits.limit.iso_limit_cone_inv_π -> CategoryTheory.Limits.limit.isoLimitCone_inv_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.LimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.limit.isoLimitCone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) F (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.LimitCone.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_πₓ'. -/
 @[simp, reassoc.1]
 theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (j : J) :
     (limit.isoLimitCone t).inv ≫ limit.π F j = t.Cone.π.app j :=
@@ -259,12 +365,24 @@ theorem limit.isoLimitCone_inv_π {F : J ⥤ C} [HasLimit F] (t : LimitCone F) (
   tidy
 #align category_theory.limits.limit.iso_limit_cone_inv_π CategoryTheory.Limits.limit.isoLimitCone_inv_π
 
+/- warning: category_theory.limits.limit.hom_ext -> CategoryTheory.Limits.limit.hom_ext is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) f (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) f' (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f f')
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) f (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) f' (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) X (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f f')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_ext CategoryTheory.Limits.limit.hom_extₓ'. -/
 @[ext]
 theorem limit.hom_ext {F : J ⥤ C} [HasLimit F] {X : C} {f f' : X ⟶ limit F}
     (w : ∀ j, f ≫ limit.π F j = f' ≫ limit.π F j) : f = f' :=
   (limit.isLimit F).hom_ext w
 #align category_theory.limits.limit.hom_ext CategoryTheory.Limits.limit.hom_ext
 
+/- warning: category_theory.limits.limit.lift_map -> CategoryTheory.Limits.limit.lift_map is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α) c))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α)) c))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_mapₓ'. -/
 @[simp]
 theorem limit.lift_map {F G : J ⥤ C} [HasLimit F] [HasLimit G] (c : Cone F) (α : F ⟶ G) :
     limit.lift F c ≫ limMap α = limit.lift G ((Cones.postcompose α).obj c) :=
@@ -274,11 +392,19 @@ theorem limit.lift_map {F G : J ⥤ C} [HasLimit F] [HasLimit G] (c : Cone F) (
   rfl
 #align category_theory.limits.limit.lift_map CategoryTheory.Limits.limit.lift_map
 
+#print CategoryTheory.Limits.limit.lift_cone /-
 @[simp]
-theorem limit.lift_cone {F : J ⥤ C} [HasLimit F] : limit.lift F (Limit.cone F) = 𝟙 (limit F) :=
+theorem limit.lift_cone {F : J ⥤ C} [HasLimit F] : limit.lift F (limit.cone F) = 𝟙 (limit F) :=
   (limit.isLimit _).lift_self
 #align category_theory.limits.limit.lift_cone CategoryTheory.Limits.limit.lift_cone
+-/
 
+/- warning: category_theory.limits.limit.hom_iso -> CategoryTheory.Limits.limit.homIso is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIsoₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and cones with cone point `W`.
@@ -288,12 +414,24 @@ def limit.homIso (F : J ⥤ C) [HasLimit F] (W : C) :
   (limit.isLimit F).homIso W
 #align category_theory.limits.limit.hom_iso CategoryTheory.Limits.limit.homIso
 
+/- warning: category_theory.limits.limit.hom_iso_hom -> CategoryTheory.Limits.limit.homIso_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))), Eq.{succ (max u2 u3)} (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W)) (CategoryTheory.Iso.hom.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.unop.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.op.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.op.{succ u4} C W))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) F (CategoryTheory.Functor.map.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (Opposite.unop.{succ u4} C (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f)) (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))), Eq.{max (succ u2) (succ u3)} (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W)) (CategoryTheory.Iso.hom.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u3, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3))) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u4} C W)) (CategoryTheory.Limits.limit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u3) u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) F (Prefunctor.map.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) f)) (CategoryTheory.Limits.Cone.π.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.limit.cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_homₓ'. -/
 @[simp]
 theorem limit.homIso_hom (F : J ⥤ C) [HasLimit F] {W : C} (f : ULift (W ⟶ limit F)) :
-    (limit.homIso F W).Hom f = (const J).map f.down ≫ (Limit.cone F).π :=
+    (limit.homIso F W).Hom f = (const J).map f.down ≫ (limit.cone F).π :=
   (limit.isLimit F).homIso_hom f
 #align category_theory.limits.limit.hom_iso_hom CategoryTheory.Limits.limit.homIso_hom
 
+/- warning: category_theory.limits.limit.hom_iso' -> CategoryTheory.Limits.limit.homIso' is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) W (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (p j) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f)) (p j')))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) W (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (p j) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f)) (p j')))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.hom_iso' CategoryTheory.Limits.limit.homIso'ₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from a specified object `W` to the limit object,
 and an explicit componentwise description of cones with cone point `W`.
@@ -304,15 +442,18 @@ def limit.homIso' (F : J ⥤ C) [HasLimit F] (W : C) :
   (limit.isLimit F).homIso' W
 #align category_theory.limits.limit.hom_iso' CategoryTheory.Limits.limit.homIso'
 
-theorem limit.lift_extend {F : J ⥤ C} [HasLimit F] (c : Cone F) {X : C} (f : X ⟶ c.x) :
+#print CategoryTheory.Limits.limit.lift_extend /-
+theorem limit.lift_extend {F : J ⥤ C} [HasLimit F] (c : Cone F) {X : C} (f : X ⟶ c.pt) :
     limit.lift F (c.extend f) = f ≫ limit.lift F c := by obviously
 #align category_theory.limits.limit.lift_extend CategoryTheory.Limits.limit.lift_extend
+-/
 
+#print CategoryTheory.Limits.hasLimitOfIso /-
 /-- If a functor `F` has a limit, so does any naturally isomorphic functor.
 -/
-theorem hasLimit_of_iso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :=
+theorem hasLimitOfIso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :=
   HasLimit.mk
-    { Cone := (Cones.postcompose α.Hom).obj (Limit.cone F)
+    { Cone := (Cones.postcompose α.Hom).obj (limit.cone F)
       IsLimit :=
         { lift := fun s => limit.lift F ((Cones.postcompose α.inv).obj s)
           fac := fun s j =>
@@ -325,36 +466,59 @@ theorem hasLimit_of_iso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G
             rw [limit.lift_π, cones.postcompose_obj_π, nat_trans.comp_app, ← nat_iso.app_inv,
               iso.eq_comp_inv]
             simpa using w j } }
-#align category_theory.limits.has_limit_of_iso CategoryTheory.Limits.hasLimit_of_iso
+#align category_theory.limits.has_limit_of_iso CategoryTheory.Limits.hasLimitOfIso
+-/
 
+#print CategoryTheory.Limits.HasLimit.ofConesIso /-
 -- See the construction of limits from products and equalizers
 -- for an example usage.
 /-- If a functor `G` has the same collection of cones as a functor `F`
 which has a limit, then `G` also has a limit. -/
-theorem HasLimit.of_cones_iso {J K : Type u₁} [Category.{v₁} J] [Category.{v₂} K] (F : J ⥤ C)
+theorem HasLimit.ofConesIso {J K : Type u₁} [Category.{v₁} J] [Category.{v₂} K] (F : J ⥤ C)
     (G : K ⥤ C) (h : F.cones ≅ G.cones) [HasLimit F] : HasLimit G :=
   HasLimit.mk ⟨_, IsLimit.ofNatIso (IsLimit.natIso (limit.isLimit F) ≪≫ h)⟩
-#align category_theory.limits.has_limit.of_cones_iso CategoryTheory.Limits.HasLimit.of_cones_iso
+#align category_theory.limits.has_limit.of_cones_iso CategoryTheory.Limits.HasLimit.ofConesIso
+-/
 
+#print CategoryTheory.Limits.HasLimit.isoOfNatIso /-
 /-- The limits of `F : J ⥤ C` and `G : J ⥤ C` are isomorphic,
 if the functors are naturally isomorphic.
 -/
 def HasLimit.isoOfNatIso {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) : limit F ≅ limit G :=
   IsLimit.conePointsIsoOfNatIso (limit.isLimit F) (limit.isLimit G) w
 #align category_theory.limits.has_limit.iso_of_nat_iso CategoryTheory.Limits.HasLimit.isoOfNatIso
+-/
 
+/- warning: category_theory.limits.has_limit.iso_of_nat_iso_hom_π -> CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_πₓ'. -/
 @[simp, reassoc.1]
 theorem HasLimit.isoOfNatIso_hom_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).Hom ≫ limit.π G j = limit.π F j ≫ w.Hom.app j :=
   IsLimit.conePointsIsoOfNatIso_hom_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_hom_π CategoryTheory.Limits.HasLimit.isoOfNatIso_hom_π
 
+/- warning: category_theory.limits.has_limit.iso_of_nat_iso_inv_π -> CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_πₓ'. -/
 @[simp, reassoc.1]
 theorem HasLimit.isoOfNatIso_inv_π {F G : J ⥤ C} [HasLimit F] [HasLimit G] (w : F ≅ G) (j : J) :
     (HasLimit.isoOfNatIso w).inv ≫ limit.π F j = limit.π G j ≫ w.inv.app j :=
   IsLimit.conePointsIsoOfNatIso_inv_comp _ _ _ _
 #align category_theory.limits.has_limit.iso_of_nat_iso_inv_π CategoryTheory.Limits.HasLimit.isoOfNatIso_inv_π
 
+/- warning: category_theory.limits.has_limit.lift_iso_of_nat_iso_hom -> CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_homₓ'. -/
 @[simp, reassoc.1]
 theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone F)
     (w : F ≅ G) :
@@ -363,6 +527,12 @@ theorem HasLimit.lift_isoOfNatIso_hom {F G : J ⥤ C} [HasLimit F] [HasLimit G]
   IsLimit.lift_comp_conePointsIsoOfNatIso_hom _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_hom CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_hom
 
+/- warning: category_theory.limits.has_limit.lift_iso_of_nat_iso_inv -> CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_invₓ'. -/
 @[simp, reassoc.1]
 theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G] (t : Cone G)
     (w : F ≅ G) :
@@ -371,6 +541,12 @@ theorem HasLimit.lift_isoOfNatIso_inv {F G : J ⥤ C} [HasLimit F] [HasLimit G]
   IsLimit.lift_comp_conePointsIsoOfNatIso_inv _ _ _
 #align category_theory.limits.has_limit.lift_iso_of_nat_iso_inv CategoryTheory.Limits.HasLimit.lift_isoOfNatIso_inv
 
+/- warning: category_theory.limits.has_limit.iso_of_equivalence -> CategoryTheory.Limits.HasLimit.isoOfEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2), (CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2), (CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalenceₓ'. -/
 /-- The limits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -379,6 +555,12 @@ def HasLimit.isoOfEquivalence {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit
   IsLimit.conePointsIsoOfEquivalence (limit.isLimit F) (limit.isLimit G) e w
 #align category_theory.limits.has_limit.iso_of_equivalence CategoryTheory.Limits.HasLimit.isoOfEquivalence
 
+/- warning: category_theory.limits.has_limit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Functor.map.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) k (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Equivalence.counit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G)) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.map.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Equivalence.counit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -390,6 +572,12 @@ theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C
   simp
 #align category_theory.limits.has_limit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_hom_π
 
+/- warning: category_theory.limits.has_limit.iso_of_equivalence_inv_π -> CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasLimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) j)) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasLimit.isoOfEquivalence_inv_πₓ'. -/
 @[simp]
 theorem HasLimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -404,12 +592,20 @@ section Pre
 
 variable (F) [HasLimit F] (E : K ⥤ J) [HasLimit (E ⋙ F)]
 
+#print CategoryTheory.Limits.limit.pre /-
 /-- The canonical morphism from the limit of `F` to the limit of `E ⋙ F`.
 -/
 def limit.pre : limit F ⟶ limit (E ⋙ F) :=
-  limit.lift (E ⋙ F) ((Limit.cone F).whisker E)
+  limit.lift (E ⋙ F) ((limit.cone F).whisker E)
 #align category_theory.limits.limit.pre CategoryTheory.Limits.limit.pre
+-/
 
+/- warning: category_theory.limits.limit.pre_π -> CategoryTheory.Limits.limit.pre_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 E k))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5) (CategoryTheory.Limits.limit.π.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k)) (CategoryTheory.Limits.limit.π.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_πₓ'. -/
 @[simp, reassoc.1]
 theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π F (E.obj k) :=
   by
@@ -417,22 +613,27 @@ theorem limit.pre_π (k : K) : limit.pre F E ≫ limit.π (E ⋙ F) k = limit.π
   rfl
 #align category_theory.limits.limit.pre_π CategoryTheory.Limits.limit.pre_π
 
+#print CategoryTheory.Limits.limit.lift_pre /-
 @[simp]
 theorem limit.lift_pre (c : Cone F) :
     limit.lift F c ≫ limit.pre F E = limit.lift (E ⋙ F) (c.whisker E) := by ext <;> simp
 #align category_theory.limits.limit.lift_pre CategoryTheory.Limits.limit.lift_pre
+-/
 
 variable {L : Type u₃} [Category.{v₃} L]
 
 variable (D : L ⥤ K) [HasLimit (D ⋙ E ⋙ F)]
 
+#print CategoryTheory.Limits.limit.pre_pre /-
 @[simp]
 theorem limit.pre_pre : limit.pre F E ≫ limit.pre (E ⋙ F) D = limit.pre F (D ⋙ E) := by
   ext j <;> erw [assoc, limit.pre_π, limit.pre_π, limit.pre_π] <;> rfl
 #align category_theory.limits.limit.pre_pre CategoryTheory.Limits.limit.pre_pre
+-/
 
 variable {E F}
 
+#print CategoryTheory.Limits.limit.pre_eq /-
 /-- -
 If we have particular limit cones available for `E ⋙ F` and for `F`,
 we obtain a formula for `limit.pre F E`.
@@ -442,6 +643,7 @@ theorem limit.pre_eq (s : LimitCone (E ⋙ F)) (t : LimitCone F) :
       (limit.isoLimitCone t).Hom ≫ s.IsLimit.lift (t.Cone.whisker E) ≫ (limit.isoLimitCone s).inv :=
   by tidy
 #align category_theory.limits.limit.pre_eq CategoryTheory.Limits.limit.pre_eq
+-/
 
 end Pre
 
@@ -451,12 +653,24 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasLimit F] (G : C ⥤ D) [HasLimit (F ⋙ G)]
 
+/- warning: category_theory.limits.limit.post -> CategoryTheory.Limits.limit.post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post CategoryTheory.Limits.limit.postₓ'. -/
 /-- The canonical morphism from `G` applied to the limit of `F` to the limit of `F ⋙ G`.
 -/
 def limit.post : G.obj (limit F) ⟶ limit (F ⋙ G) :=
-  limit.lift (F ⋙ G) (G.mapCone (Limit.cone F))
+  limit.lift (F ⋙ G) (G.mapCone (limit.cone F))
 #align category_theory.limits.limit.post CategoryTheory.Limits.limit.post
 
+/- warning: category_theory.limits.limit.post_π -> CategoryTheory.Limits.limit.post_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Functor.obj.{u1, u3, u2, u5} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Limits.limit.π.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.limit.π.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_πₓ'. -/
 @[simp, reassoc.1]
 theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map (limit.π F j) :=
   by
@@ -464,6 +678,12 @@ theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map
   rfl
 #align category_theory.limits.limit.post_π CategoryTheory.Limits.limit.post_π
 
+/- warning: category_theory.limits.limit.lift_post -> CategoryTheory.Limits.limit.lift_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.lift.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.lift.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_postₓ'. -/
 @[simp]
 theorem limit.lift_post (c : Cone F) :
     G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) :=
@@ -473,6 +693,12 @@ theorem limit.lift_post (c : Cone F) :
   rfl
 #align category_theory.limits.limit.lift_post CategoryTheory.Limits.limit.lift_post
 
+/- warning: category_theory.limits.limit.post_post -> CategoryTheory.Limits.limit.post_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.map.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasLimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Limits.limit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.map.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Limits.limit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_postₓ'. -/
 @[simp]
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasLimit ((F ⋙ G) ⋙ H)] :-- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals 
@@ -486,6 +712,12 @@ theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 
 end Post
 
+/- warning: category_theory.limits.limit.pre_post -> CategoryTheory.Limits.limit.pre_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasLimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [_inst_8 : CategoryTheory.Limits.HasLimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (CategoryTheory.Functor.map.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6)) (CategoryTheory.Limits.limit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (CategoryTheory.Limits.limit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E _inst_8))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasLimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [_inst_8 : CategoryTheory.Limits.HasLimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) _inst_8) (Prefunctor.map.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.limit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6)) (CategoryTheory.Limits.limit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G _inst_8)) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.limit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.limit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Limits.limit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) _inst_8) (CategoryTheory.Limits.limit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E _inst_8))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_postₓ'. -/
 theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
     [HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs 
@@ -501,22 +733,34 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
 
 open CategoryTheory.Equivalence
 
-instance hasLimit_equivalence_comp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
+/- warning: category_theory.limits.has_limit_equivalence_comp -> CategoryTheory.Limits.hasLimitEquivalenceComp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceCompₓ'. -/
+instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
   HasLimit.mk
-    { Cone := Cone.whisker e.Functor (Limit.cone F)
+    { Cone := Cone.whisker e.Functor (limit.cone F)
       IsLimit := IsLimit.whiskerEquivalence (limit.isLimit F) e }
-#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimit_equivalence_comp
+#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceComp
 
 attribute [local elab_without_expected_type] inv_fun_id_assoc
 
+/- warning: category_theory.limits.has_limit_of_equivalence_comp -> CategoryTheory.Limits.hasLimitOfEquivalenceComp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)], CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasLimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)], CategoryTheory.Limits.HasLimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimitOfEquivalenceCompₓ'. -/
 -- not entirely sure why this is needed
 /-- If a `E ⋙ F` has a limit, and `E` is an equivalence, we can construct a limit of `F`.
 -/
-theorem hasLimit_of_equivalence_comp (e : K ≌ J) [HasLimit (e.Functor ⋙ F)] : HasLimit F :=
+theorem hasLimitOfEquivalenceComp (e : K ≌ J) [HasLimit (e.Functor ⋙ F)] : HasLimit F :=
   by
   haveI : has_limit (e.inverse ⋙ e.functor ⋙ F) := limits.has_limit_equivalence_comp e.symm
   apply has_limit_of_iso (e.inv_fun_id_assoc F)
-#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimit_of_equivalence_comp
+#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimitOfEquivalenceComp
 
 -- `has_limit_comp_equivalence` and `has_limit_of_comp_equivalence`
 -- are proved in `category_theory/adjunction/limits.lean`.
@@ -526,6 +770,7 @@ variable [HasLimitsOfShape J C]
 
 section
 
+#print CategoryTheory.Limits.lim /-
 /-- `limit F` is functorial in `F`, when `C` has all limits of shape `J`. -/
 @[simps obj]
 def lim : (J ⥤ C) ⥤ C where
@@ -537,6 +782,7 @@ def lim : (J ⥤ C) ⥤ C where
   map_comp' F G H α β := by
     ext <;> erw [assoc, is_limit.fac, is_limit.fac, ← assoc, is_limit.fac, assoc] <;> rfl
 #align category_theory.limits.lim CategoryTheory.Limits.lim
+-/
 
 end
 
@@ -548,6 +794,12 @@ theorem limMap_eq_limMap : lim.map α = limMap α :=
   rfl
 #align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.limMap_eq_limMap
 
+/- warning: category_theory.limits.limit.map_pre -> CategoryTheory.Limits.limit.map_pre is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (CategoryTheory.Functor.map.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u5), max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))) (Prefunctor.map.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F G α) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_preₓ'. -/
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
     lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) :=
   by
@@ -555,14 +807,32 @@ theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
   simp
 #align category_theory.limits.limit.map_pre CategoryTheory.Limits.limit.map_pre
 
+/- warning: category_theory.limits.limit.map_pre' -> CategoryTheory.Limits.limit.map_pre' is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{succ (max u4 u1), max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.limit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.limit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'ₓ'. -/
 theorem limit.map_pre' [HasLimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     limit.pre F E₂ = limit.pre F E₁ ≫ lim.map (whiskerRight α F) := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'
 
+/- warning: category_theory.limits.limit.id_pre -> CategoryTheory.Limits.limit.id_pre is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F)))) (CategoryTheory.Limits.limit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) F (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_preₓ'. -/
 theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.leftUnitor F).inv := by tidy
 #align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_pre
 
+/- warning: category_theory.limits.limit.map_post -> CategoryTheory.Limits.limit.map_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.limMap.{u1, u2, u3, u5} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) α)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limMap.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.limMap.{u1, u2, u3, u5} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) α)) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.limit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))) (CategoryTheory.Limits.limit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Limits.limMap.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_postₓ'. -/
 theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
     (H : C ⥤ D) :/- H (limit F) ⟶ H (limit G) ⟶ limit (G ⋙ H) vs
                H (limit F) ⟶ limit (F ⋙ H) ⟶ limit (G ⋙ H) -/
@@ -575,6 +845,12 @@ theorem limit.map_post {D : Type u'} [Category.{v'} D] [HasLimitsOfShape J D]
   simp only [whisker_right_app, lim_map_π, assoc, limit.post_π_assoc, limit.post_π, ← H.map_comp]
 #align category_theory.limits.limit.map_post CategoryTheory.Limits.limit.map_post
 
+/- warning: category_theory.limits.lim_yoneda -> CategoryTheory.Limits.limYoneda is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max u1 u3 u2 u4) u4 u3 u2, max (max u2 u3) (max u4 u3 u2) (max u1 u3 u2 u4) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max u4 u3 u2, max u1 u3 u2 u4, u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u3 u2, u4, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} C _inst_3 (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.yoneda.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max (succ u3) u3 u2, max (max u3 u4 (succ u3)) u4 u3 u2, max u3 (max u3 u2) (succ u3) (succ (max u3 u2)), max (max u4 u3) (max u4 u3 u2) (max u3 u4 (succ u3)) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, succ (max u3 u2), max u3 u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max (max u4 u2) u3) u1, max (max (max (max (max (max u4 u3) u2 u3) (succ u2) (succ u3)) (max (max u4 u3) u2) u1) u4 u2 u3) u3 u2} (CategoryTheory.Functor.{max u3 u2, max u4 u2 u3, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max (max u4 u2) u3, max (max (max u4 u2) u3) u1, max (max u4 (succ u2)) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u3 u2, u3, max u4 u2 u3, max (max (max u4 u3) u2) u1, u4, max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Limits.lim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u2 u3, u4, max u4 (succ u3), max (max (max u4 u3) u2 u3) (succ u2) (succ u3)} C _inst_3 (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.yoneda.{u3, u4} C _inst_3) (Prefunctor.obj.{max (succ (max u2 u3)) (succ (succ u3)), max (max (max (max (succ (max u2 u3)) (succ u3)) (succ (succ u3))) (succ u3)) (succ u4), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, max (succ u2) (succ u3), max u2 u3} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYonedaₓ'. -/
 /-- The isomorphism between
 morphisms from `W` to the cone point of the limit cone for `F`
 and cones over `F` with cone point `W`
@@ -586,6 +862,7 @@ def limYoneda :
     (by tidy)
 #align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYoneda
 
+#print CategoryTheory.Limits.constLimAdj /-
 /-- The constant functor and limit functor are adjoint to each other-/
 def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim
     where
@@ -607,52 +884,71 @@ def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim
   homEquiv_unit c g f := limit.hom_ext fun j => by simp
   homEquiv_counit c g f := NatTrans.ext _ _ <| funext fun j => rfl
 #align category_theory.limits.const_lim_adj CategoryTheory.Limits.constLimAdj
+-/
 
 instance : IsRightAdjoint (lim : (J ⥤ C) ⥤ C) :=
   ⟨_, constLimAdj⟩
 
 end LimFunctor
 
+#print CategoryTheory.Limits.limMap_mono' /-
 instance limMap_mono' {F G : J ⥤ C} [HasLimitsOfShape J C] (α : F ⟶ G) [Mono α] : Mono (limMap α) :=
   (lim : (J ⥤ C) ⥤ C).map_mono α
 #align category_theory.limits.lim_map_mono' CategoryTheory.Limits.limMap_mono'
+-/
 
+/- warning: category_theory.limits.lim_map_mono -> CategoryTheory.Limits.limMap_mono is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasLimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Mono.{u3, u4} C _inst_3 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Mono.{u3, u4} C _inst_3 (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.limit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.limMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_monoₓ'. -/
 instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [∀ j, Mono (α.app j)] :
     Mono (limMap α) :=
   ⟨fun Z u v h =>
     limit.hom_ext fun j => (cancel_mono (α.app j)).1 <| by simpa using h =≫ limit.π _ j⟩
 #align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_mono
 
+/- warning: category_theory.limits.has_limits_of_shape_of_equivalence -> CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 J' _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J J' _inst_1 _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasLimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalenceₓ'. -/
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
-theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
+theorem hasLimitsOfShapeOfEquivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasLimitsOfShape J C] : HasLimitsOfShape J' C :=
   by
   constructor
   intro F
   apply has_limit_of_equivalence_comp e
   infer_instance
-#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
+#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence
 
 variable (C)
 
+#print CategoryTheory.Limits.hasLimitsOfSizeShrink /-
 /-- `has_limits_of_size_shrink.{v u} C` tries to obtain `has_limits_of_size.{v u} C`
 from some other `has_limits_of_size C`.
 -/
-theorem hasLimitsOfSize_shrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
+theorem hasLimitsOfSizeShrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
     HasLimitsOfSize.{v₁, u₁} C :=
   ⟨fun J hJ => has_limits_of_shape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
-#align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSize_shrink
+#align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSizeShrink
+-/
 
-instance (priority := 100) has_smallest_limits_of_hasLimits [HasLimits C] :
-    HasLimitsOfSize.{0, 0} C :=
-  hasLimitsOfSize_shrink.{0, 0} C
-#align category_theory.limits.has_smallest_limits_of_has_limits CategoryTheory.Limits.has_smallest_limits_of_hasLimits
+#print CategoryTheory.Limits.hasSmallestLimitsOfHasLimits /-
+instance (priority := 100) hasSmallestLimitsOfHasLimits [HasLimits C] : HasLimitsOfSize.{0, 0} C :=
+  hasLimitsOfSizeShrink.{0, 0} C
+#align category_theory.limits.has_smallest_limits_of_has_limits CategoryTheory.Limits.hasSmallestLimitsOfHasLimits
+-/
 
 end Limit
 
 section Colimit
 
+#print CategoryTheory.Limits.ColimitCocone /-
 /-- `colimit_cocone F` contains a cocone over `F` together with the information that it is a
     colimit. -/
 @[nolint has_nonempty_instance]
@@ -660,28 +956,38 @@ structure ColimitCocone (F : J ⥤ C) where
   Cocone : Cocone F
   IsColimit : IsColimit cocone
 #align category_theory.limits.colimit_cocone CategoryTheory.Limits.ColimitCocone
+-/
 
+#print CategoryTheory.Limits.HasColimit /-
 /-- `has_colimit F` represents the mere existence of a colimit for `F`. -/
 class HasColimit (F : J ⥤ C) : Prop where mk' ::
   exists_colimit : Nonempty (ColimitCocone F)
 #align category_theory.limits.has_colimit CategoryTheory.Limits.HasColimit
+-/
 
+#print CategoryTheory.Limits.HasColimit.mk /-
 theorem HasColimit.mk {F : J ⥤ C} (d : ColimitCocone F) : HasColimit F :=
   ⟨Nonempty.intro d⟩
 #align category_theory.limits.has_colimit.mk CategoryTheory.Limits.HasColimit.mk
+-/
 
+#print CategoryTheory.Limits.getColimitCocone /-
 /-- Use the axiom of choice to extract explicit `colimit_cocone F` from `has_colimit F`. -/
 def getColimitCocone (F : J ⥤ C) [HasColimit F] : ColimitCocone F :=
   Classical.choice <| HasColimit.exists_colimit
 #align category_theory.limits.get_colimit_cocone CategoryTheory.Limits.getColimitCocone
+-/
 
 variable (J C)
 
+#print CategoryTheory.Limits.HasColimitsOfShape /-
 /-- `C` has colimits of shape `J` if there exists a colimit for every functor `F : J ⥤ C`. -/
 class HasColimitsOfShape : Prop where
   HasColimit : ∀ F : J ⥤ C, HasColimit F := by infer_instance
 #align category_theory.limits.has_colimits_of_shape CategoryTheory.Limits.HasColimitsOfShape
+-/
 
+#print CategoryTheory.Limits.HasColimitsOfSize /-
 /-- `C` has all colimits of size `v₁ u₁` (`has_colimits_of_size.{v₁ u₁} C`)
 if it has colimits of every shape `J : Type u₁` with `[category.{v₁} J]`.
 -/
@@ -689,81 +995,126 @@ class HasColimitsOfSize (C : Type u) [Category.{v} C] : Prop where
   HasColimitsOfShape : ∀ (J : Type u₁) [𝒥 : Category.{v₁} J], HasColimitsOfShape J C := by
     infer_instance
 #align category_theory.limits.has_colimits_of_size CategoryTheory.Limits.HasColimitsOfSize
+-/
 
+#print CategoryTheory.Limits.HasColimits /-
 /-- `C` has all (small) colimits if it has colimits of every shape that is as big as its hom-sets.
 -/
 abbrev HasColimits (C : Type u) [Category.{v} C] : Prop :=
   HasColimitsOfSize.{v, v} C
 #align category_theory.limits.has_colimits CategoryTheory.Limits.HasColimits
+-/
 
+#print CategoryTheory.Limits.HasColimits.hasColimitsOfShape /-
 theorem HasColimits.hasColimitsOfShape {C : Type u} [Category.{v} C] [HasColimits C] (J : Type v)
     [Category.{v} J] : HasColimitsOfShape J C :=
   HasColimitsOfSize.hasColimitsOfShape J
 #align category_theory.limits.has_colimits.has_colimits_of_shape CategoryTheory.Limits.HasColimits.hasColimitsOfShape
+-/
 
 variable {J C}
 
+#print CategoryTheory.Limits.hasColimitOfHasColimitsOfShape /-
 -- see Note [lower instance priority]
-instance (priority := 100) hasColimit_of_hasColimitsOfShape {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasColimitOfHasColimitsOfShape {J : Type u₁} [Category.{v₁} J]
     [H : HasColimitsOfShape J C] (F : J ⥤ C) : HasColimit F :=
   HasColimitsOfShape.hasColimit F
-#align category_theory.limits.has_colimit_of_has_colimits_of_shape CategoryTheory.Limits.hasColimit_of_hasColimitsOfShape
+#align category_theory.limits.has_colimit_of_has_colimits_of_shape CategoryTheory.Limits.hasColimitOfHasColimitsOfShape
+-/
 
+#print CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize /-
 -- see Note [lower instance priority]
-instance (priority := 100) hasColimitsOfShape_of_hasColimitsOfSize {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasColimitsOfShapeOfHasColimitsOfSize {J : Type u₁} [Category.{v₁} J]
     [H : HasColimitsOfSize.{v₁, u₁} C] : HasColimitsOfShape J C :=
   HasColimitsOfSize.hasColimitsOfShape J
-#align category_theory.limits.has_colimits_of_shape_of_has_colimits_of_size CategoryTheory.Limits.hasColimitsOfShape_of_hasColimitsOfSize
+#align category_theory.limits.has_colimits_of_shape_of_has_colimits_of_size CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize
+-/
 
+#print CategoryTheory.Limits.colimit.cocone /-
 -- Interface to the `has_colimit` class.
 /-- An arbitrary choice of colimit cocone of a functor. -/
-def Colimit.cocone (F : J ⥤ C) [HasColimit F] : Cocone F :=
+def colimit.cocone (F : J ⥤ C) [HasColimit F] : Cocone F :=
   (getColimitCocone F).Cocone
-#align category_theory.limits.colimit.cocone CategoryTheory.Limits.Colimit.cocone
+#align category_theory.limits.colimit.cocone CategoryTheory.Limits.colimit.cocone
+-/
 
+#print CategoryTheory.Limits.colimit /-
 /-- An arbitrary choice of colimit object of a functor. -/
 def colimit (F : J ⥤ C) [HasColimit F] :=
-  (Colimit.cocone F).x
+  (colimit.cocone F).pt
 #align category_theory.limits.colimit CategoryTheory.Limits.colimit
+-/
 
+/- warning: category_theory.limits.colimit.ι -> CategoryTheory.Limits.colimit.ι is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι CategoryTheory.Limits.colimit.ιₓ'. -/
 /-- The coprojection from a value of the functor to the colimit object. -/
 def colimit.ι (F : J ⥤ C) [HasColimit F] (j : J) : F.obj j ⟶ colimit F :=
-  (Colimit.cocone F).ι.app j
+  (colimit.cocone F).ι.app j
 #align category_theory.limits.colimit.ι CategoryTheory.Limits.colimit.ι
 
+/- warning: category_theory.limits.colimit.cocone_ι -> CategoryTheory.Limits.colimit.cocone_ι is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) j)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.cocone_ι CategoryTheory.Limits.colimit.cocone_ιₓ'. -/
 @[simp]
 theorem colimit.cocone_ι {F : J ⥤ C} [HasColimit F] (j : J) :
-    (Colimit.cocone F).ι.app j = colimit.ι _ j :=
+    (colimit.cocone F).ι.app j = colimit.ι _ j :=
   rfl
 #align category_theory.limits.colimit.cocone_ι CategoryTheory.Limits.colimit.cocone_ι
 
+#print CategoryTheory.Limits.colimit.cocone_x /-
 @[simp]
-theorem colimit.cocone_x {F : J ⥤ C} [HasColimit F] : (Colimit.cocone F).x = colimit F :=
+theorem colimit.cocone_x {F : J ⥤ C} [HasColimit F] : (colimit.cocone F).pt = colimit F :=
   rfl
 #align category_theory.limits.colimit.cocone_X CategoryTheory.Limits.colimit.cocone_x
+-/
 
+/- warning: category_theory.limits.colimit.w -> CategoryTheory.Limits.colimit.w is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j')) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.w CategoryTheory.Limits.colimit.wₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.w (F : J ⥤ C) [HasColimit F] {j j' : J} (f : j ⟶ j') :
     F.map f ≫ colimit.ι F j' = colimit.ι F j :=
-  (Colimit.cocone F).w f
+  (colimit.cocone F).w f
 #align category_theory.limits.colimit.w CategoryTheory.Limits.colimit.w
 
+#print CategoryTheory.Limits.colimit.isColimit /-
 /-- Evidence that the arbitrary choice of cocone is a colimit cocone. -/
-def colimit.isColimit (F : J ⥤ C) [HasColimit F] : IsColimit (Colimit.cocone F) :=
+def colimit.isColimit (F : J ⥤ C) [HasColimit F] : IsColimit (colimit.cocone F) :=
   (getColimitCocone F).IsColimit
 #align category_theory.limits.colimit.is_colimit CategoryTheory.Limits.colimit.isColimit
+-/
 
+#print CategoryTheory.Limits.colimit.desc /-
 /-- The morphism from the colimit object to the cone point of any other cocone. -/
-def colimit.desc (F : J ⥤ C) [HasColimit F] (c : Cocone F) : colimit F ⟶ c.x :=
+def colimit.desc (F : J ⥤ C) [HasColimit F] (c : Cocone F) : colimit F ⟶ c.pt :=
   (colimit.isColimit F).desc c
 #align category_theory.limits.colimit.desc CategoryTheory.Limits.colimit.desc
+-/
 
+#print CategoryTheory.Limits.colimit.isColimit_desc /-
 @[simp]
 theorem colimit.isColimit_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
     (colimit.isColimit F).desc c = colimit.desc F c :=
   rfl
 #align category_theory.limits.colimit.is_colimit_desc CategoryTheory.Limits.colimit.isColimit_desc
+-/
 
+/- warning: category_theory.limits.colimit.ι_desc -> CategoryTheory.Limits.colimit.ι_desc is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_desc CategoryTheory.Limits.colimit.ι_descₓ'. -/
 /-- We have lots of lemmas describing how to simplify `colimit.ι F j ≫ _`,
 and combined with `colimit.ext` we rely on these lemmas for many calculations.
 
@@ -779,6 +1130,7 @@ theorem colimit.ι_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
   IsColimit.fac _ c j
 #align category_theory.limits.colimit.ι_desc CategoryTheory.Limits.colimit.ι_desc
 
+#print CategoryTheory.Limits.colimMap /-
 /-- Functoriality of colimits.
 
 Usually this morphism should be accessed through `colim.map`,
@@ -788,28 +1140,51 @@ but not necessarily for all functors of shape `J`.
 def colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) : colimit F ⟶ colimit G :=
   IsColimit.map (colimit.isColimit F) _ α
 #align category_theory.limits.colim_map CategoryTheory.Limits.colimMap
+-/
 
+/- warning: category_theory.limits.ι_colim_map -> CategoryTheory.Limits.ι_colimMap is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.ι_colim_map CategoryTheory.Limits.ι_colimMapₓ'. -/
 @[simp, reassoc.1]
 theorem ι_colimMap {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) (j : J) :
     colimit.ι F j ≫ colimMap α = α.app j ≫ colimit.ι G j :=
   colimit.ι_desc _ j
 #align category_theory.limits.ι_colim_map CategoryTheory.Limits.ι_colimMap
 
+#print CategoryTheory.Limits.colimit.coconeMorphism /-
 /-- The cocone morphism from the arbitrary choice of colimit cocone to any cocone. -/
-def colimit.coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) : Colimit.cocone F ⟶ c :=
+def colimit.coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) : colimit.cocone F ⟶ c :=
   (colimit.isColimit F).descCoconeMorphism c
 #align category_theory.limits.colimit.cocone_morphism CategoryTheory.Limits.colimit.coconeMorphism
+-/
 
+#print CategoryTheory.Limits.colimit.coconeMorphism_hom /-
 @[simp]
 theorem colimit.coconeMorphism_hom {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
     (colimit.coconeMorphism c).Hom = colimit.desc F c :=
   rfl
 #align category_theory.limits.colimit.cocone_morphism_hom CategoryTheory.Limits.colimit.coconeMorphism_hom
+-/
 
+/- warning: category_theory.limits.colimit.ι_cocone_morphism -> CategoryTheory.Limits.colimit.ι_coconeMorphism is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.CoconeMorphism.hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.coconeMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Limits.CoconeMorphism.Hom.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.coconeMorphism.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 c))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphismₓ'. -/
 theorem colimit.ι_coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
     colimit.ι F j ≫ (colimit.coconeMorphism c).Hom = c.ι.app j := by simp
 #align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphism
 
+/- warning: category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom -> CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) c (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_homₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
@@ -817,6 +1192,12 @@ theorem colimit.comp_coconePointUniqueUpToIso_hom {F : J ⥤ C} [HasColimit F] {
   IsColimit.comp_coconePointUniqueUpToIso_hom _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_hom CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_hom
 
+/- warning: category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv -> CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F} (hc : CategoryTheory.Limits.IsColimit.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Limits.IsColimit.coconePointUniqueUpToIso.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) hc (CategoryTheory.Limits.colimit.isColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_invₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {c : Cocone F}
     (hc : IsColimit c) (j : J) :
@@ -824,19 +1205,33 @@ theorem colimit.comp_coconePointUniqueUpToIso_inv {F : J ⥤ C} [HasColimit F] {
   IsColimit.comp_coconePointUniqueUpToIso_inv _ _ _
 #align category_theory.limits.colimit.comp_cocone_point_unique_up_to_iso_inv CategoryTheory.Limits.colimit.comp_coconePointUniqueUpToIso_inv
 
+/- warning: category_theory.limits.colimit.exists_unique -> CategoryTheory.Limits.colimit.existsUnique is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (fun (d : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) d) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F), ExistsUnique.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (fun (d : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) => forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) d) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.exists_unique CategoryTheory.Limits.colimit.existsUniqueₓ'. -/
 theorem colimit.existsUnique {F : J ⥤ C} [HasColimit F] (t : Cocone F) :
-    ∃! d : colimit F ⟶ t.x, ∀ j, colimit.ι F j ≫ d = t.ι.app j :=
+    ∃! d : colimit F ⟶ t.pt, ∀ j, colimit.ι F j ≫ d = t.ι.app j :=
   (colimit.isColimit F).ExistsUnique _
 #align category_theory.limits.colimit.exists_unique CategoryTheory.Limits.colimit.existsUnique
 
+#print CategoryTheory.Limits.colimit.isoColimitCocone /-
 /--
 Given any other colimit cocone for `F`, the chosen `colimit F` is isomorphic to the cocone point.
 -/
 def colimit.isoColimitCocone {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) :
-    colimit F ≅ t.Cocone.x :=
+    colimit F ≅ t.Cocone.pt :=
   IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) t.IsColimit
 #align category_theory.limits.colimit.iso_colimit_cocone CategoryTheory.Limits.colimit.isoColimitCocone
+-/
 
+/- warning: category_theory.limits.colimit.iso_colimit_cocone_ι_hom -> CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_homₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     colimit.ι F j ≫ (colimit.isoColimitCocone t).Hom = t.Cocone.ι.app j :=
@@ -845,6 +1240,12 @@ theorem colimit.isoColimitCocone_ι_hom {F : J ⥤ C} [HasColimit F] (t : Colimi
   tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_hom CategoryTheory.Limits.colimit.isoColimitCocone_ι_hom
 
+/- warning: category_theory.limits.colimit.iso_colimit_cocone_ι_inv -> CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (t : CategoryTheory.Limits.ColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)))) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t))) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.ColimitCocone.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.Limits.colimit.isoColimitCocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t))) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_invₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : ColimitCocone F) (j : J) :
     t.Cocone.ι.app j ≫ (colimit.isoColimitCocone t).inv = colimit.ι F j :=
@@ -853,18 +1254,32 @@ theorem colimit.isoColimitCocone_ι_inv {F : J ⥤ C} [HasColimit F] (t : Colimi
   tidy
 #align category_theory.limits.colimit.iso_colimit_cocone_ι_inv CategoryTheory.Limits.colimit.isoColimitCocone_ι_inv
 
+/- warning: category_theory.limits.colimit.hom_ext -> CategoryTheory.Limits.colimit.hom_ext is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) X) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f')) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X) f f')
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {X : C} {f : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X} {f' : Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X}, (forall (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) X) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) f')) -> (Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) X) f f')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_ext CategoryTheory.Limits.colimit.hom_extₓ'. -/
 @[ext]
 theorem colimit.hom_ext {F : J ⥤ C} [HasColimit F] {X : C} {f f' : colimit F ⟶ X}
     (w : ∀ j, colimit.ι F j ≫ f = colimit.ι F j ≫ f') : f = f' :=
   (colimit.isColimit F).hom_ext w
 #align category_theory.limits.colimit.hom_ext CategoryTheory.Limits.colimit.hom_ext
 
+#print CategoryTheory.Limits.colimit.desc_cocone /-
 @[simp]
 theorem colimit.desc_cocone {F : J ⥤ C} [HasColimit F] :
-    colimit.desc F (Colimit.cocone F) = 𝟙 (colimit F) :=
+    colimit.desc F (colimit.cocone F) = 𝟙 (colimit F) :=
   (colimit.isColimit _).desc_self
 #align category_theory.limits.colimit.desc_cocone CategoryTheory.Limits.colimit.desc_cocone
+-/
 
+/- warning: category_theory.limits.colimit.hom_iso -> CategoryTheory.Limits.colimit.homIso is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso CategoryTheory.Limits.colimit.homIsoₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and cocones with cone point `W`.
@@ -874,12 +1289,24 @@ def colimit.homIso (F : J ⥤ C) [HasColimit F] (W : C) :
   (colimit.isColimit F).homIso W
 #align category_theory.limits.colimit.hom_iso CategoryTheory.Limits.colimit.homIso
 
+/- warning: category_theory.limits.colimit.hom_iso_hom -> CategoryTheory.Limits.colimit.homIso_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)), Eq.{succ (max u2 u3)} (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W) (CategoryTheory.Iso.hom.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) W) (CategoryTheory.Limits.colimit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.unop.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (Opposite.op.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) F)) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (CategoryTheory.Functor.obj.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) W) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.Functor.map.{u3, max u2 u3, u4, max u1 u3 u2 u4} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) W (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W) f)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] {W : C} (f : ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)), Eq.{max (succ u2) (succ u3)} (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W) (CategoryTheory.Iso.hom.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (succ u2) (succ u3)} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) Type.{max u2 u3} (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (succ u2) (succ u3)} Type.{max u2 u3} CategoryTheory.types.{max u2 u3})) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3 F)) W) (CategoryTheory.Limits.colimit.homIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 W) f) (CategoryTheory.CategoryStruct.comp.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) F (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4))) (Prefunctor.obj.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) W) (CategoryTheory.Limits.Cocone.ι.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (Prefunctor.map.{succ u3, max (succ u2) (succ u3), u4, max (max (max u2 u1) u3) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u3, max u2 u3, u4, max (max (max u2 u1) u4) u3} C _inst_3 (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.colimit.cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) W (ULift.down.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W) f)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso_hom CategoryTheory.Limits.colimit.homIso_homₓ'. -/
 @[simp]
 theorem colimit.homIso_hom (F : J ⥤ C) [HasColimit F] {W : C} (f : ULift (colimit F ⟶ W)) :
-    (colimit.homIso F W).Hom f = (Colimit.cocone F).ι ≫ (const J).map f.down :=
+    (colimit.homIso F W).Hom f = (colimit.cocone F).ι ≫ (const J).map f.down :=
   (colimit.isColimit F).homIso_hom f
 #align category_theory.limits.colimit.hom_iso_hom CategoryTheory.Limits.colimit.homIso_hom
 
+/- warning: category_theory.limits.colimit.hom_iso' -> CategoryTheory.Limits.colimit.homIso' is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u3 u2, succ (max u3 u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) W) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j') W (CategoryTheory.Functor.map.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j j' f) (p j')) (p j)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] (W : C), CategoryTheory.Iso.{max u2 u3, max (succ u2) (succ u3)} Type.{max u3 u2} CategoryTheory.types.{max u2 u3} (ULift.{u2, u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) W)) (Subtype.{max (succ u2) (succ u3)} (forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) (fun (p : forall (j : J), Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) => forall {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) j j'), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) W) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j') W (Prefunctor.map.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j j' f) (p j')) (p j)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.hom_iso' CategoryTheory.Limits.colimit.homIso'ₓ'. -/
 /-- The isomorphism (in `Type`) between
 morphisms from the colimit object to a specified object `W`,
 and an explicit componentwise description of cocones with cone point `W`.
@@ -890,17 +1317,20 @@ def colimit.homIso' (F : J ⥤ C) [HasColimit F] (W : C) :
   (colimit.isColimit F).homIso' W
 #align category_theory.limits.colimit.hom_iso' CategoryTheory.Limits.colimit.homIso'
 
-theorem colimit.desc_extend (F : J ⥤ C) [HasColimit F] (c : Cocone F) {X : C} (f : c.x ⟶ X) :
+#print CategoryTheory.Limits.colimit.desc_extend /-
+theorem colimit.desc_extend (F : J ⥤ C) [HasColimit F] (c : Cocone F) {X : C} (f : c.pt ⟶ X) :
     colimit.desc F (c.extend f) = colimit.desc F c ≫ f := by ext1; rw [← category.assoc]; simp
 #align category_theory.limits.colimit.desc_extend CategoryTheory.Limits.colimit.desc_extend
+-/
 
+#print CategoryTheory.Limits.hasColimitOfIso /-
 -- This has the isomorphism pointing in the opposite direction than in `has_limit_of_iso`.
 -- This is intentional; it seems to help with elaboration.
 /-- If `F` has a colimit, so does any naturally isomorphic functor.
 -/
-theorem hasColimit_of_iso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColimit G :=
+theorem hasColimitOfIso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColimit G :=
   HasColimit.mk
-    { Cocone := (Cocones.precompose α.Hom).obj (Colimit.cocone F)
+    { Cocone := (Cocones.precompose α.Hom).obj (colimit.cocone F)
       IsColimit :=
         { desc := fun s => colimit.desc F ((Cocones.precompose α.inv).obj s)
           fac := fun s j =>
@@ -912,15 +1342,19 @@ theorem hasColimit_of_iso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasCol
             rw [colimit.ι_desc, cocones.precompose_obj_ι, nat_trans.comp_app, ← nat_iso.app_inv,
               iso.eq_inv_comp]
             simpa using w j } }
-#align category_theory.limits.has_colimit_of_iso CategoryTheory.Limits.hasColimit_of_iso
+#align category_theory.limits.has_colimit_of_iso CategoryTheory.Limits.hasColimitOfIso
+-/
 
+#print CategoryTheory.Limits.HasColimit.ofCoconesIso /-
 /-- If a functor `G` has the same collection of cocones as a functor `F`
 which has a colimit, then `G` also has a colimit. -/
-theorem HasColimit.of_cocones_iso {K : Type u₁} [Category.{v₂} K] (F : J ⥤ C) (G : K ⥤ C)
+theorem HasColimit.ofCoconesIso {K : Type u₁} [Category.{v₂} K] (F : J ⥤ C) (G : K ⥤ C)
     (h : F.cocones ≅ G.cocones) [HasColimit F] : HasColimit G :=
   HasColimit.mk ⟨_, IsColimit.ofNatIso (IsColimit.natIso (colimit.isColimit F) ≪≫ h)⟩
-#align category_theory.limits.has_colimit.of_cocones_iso CategoryTheory.Limits.HasColimit.of_cocones_iso
+#align category_theory.limits.has_colimit.of_cocones_iso CategoryTheory.Limits.HasColimit.ofCoconesIso
+-/
 
+#print CategoryTheory.Limits.HasColimit.isoOfNatIso /-
 /-- The colimits of `F : J ⥤ C` and `G : J ⥤ C` are isomorphic,
 if the functors are naturally isomorphic.
 -/
@@ -928,19 +1362,38 @@ def HasColimit.isoOfNatIso {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F
     colimit F ≅ colimit G :=
   IsColimit.coconePointsIsoOfNatIso (colimit.isColimit F) (colimit.isColimit G) w
 #align category_theory.limits.has_colimit.iso_of_nat_iso CategoryTheory.Limits.HasColimit.isoOfNatIso
+-/
 
+/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom -> CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_homₓ'. -/
 @[simp, reassoc.1]
 theorem HasColimit.isoOfNatIso_ι_hom {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι F j ≫ (HasColimit.isoOfNatIso w).Hom = w.Hom.app j ≫ colimit.ι G j :=
   IsColimit.comp_coconePointsIsoOfNatIso_hom _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_hom CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_hom
 
+/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv -> CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 j) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w))) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w) j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_invₓ'. -/
 @[simp, reassoc.1]
 theorem HasColimit.isoOfNatIso_ι_inv {F G : J ⥤ C} [HasColimit F] [HasColimit G] (w : F ≅ G)
     (j : J) : colimit.ι G j ≫ (HasColimit.isoOfNatIso w).inv = w.inv.app j ≫ colimit.ι F j :=
   IsColimit.comp_coconePointsIsoOfNatIso_inv _ _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_ι_inv CategoryTheory.Limits.HasColimit.isoOfNatIso_ι_inv
 
+/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc -> CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G t) (CategoryTheory.Iso.hom.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_descₓ'. -/
 @[simp, reassoc.1]
 theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone G)
     (w : F ≅ G) :
@@ -949,6 +1402,12 @@ theorem HasColimit.isoOfNatIso_hom_desc {F G : J ⥤ C} [HasColimit F] [HasColim
   IsColimit.coconePointsIsoOfNatIso_hom_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_hom_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_hom_desc
 
+/- warning: category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc -> CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.inv.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w)) t))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (t : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (w : CategoryTheory.Iso.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 F t) (CategoryTheory.Iso.inv.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfNatIso.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 w)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4 t)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Iso.inv.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) F G w))) t))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_descₓ'. -/
 @[simp, reassoc.1]
 theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColimit G] (t : Cocone F)
     (w : F ≅ G) :
@@ -957,6 +1416,12 @@ theorem HasColimit.isoOfNatIso_inv_desc {F G : J ⥤ C} [HasColimit F] [HasColim
   IsColimit.coconePointsIsoOfNatIso_inv_desc _ _ _
 #align category_theory.limits.has_colimit.iso_of_nat_iso_inv_desc CategoryTheory.Limits.HasColimit.isoOfNatIso_inv_desc
 
+/- warning: category_theory.limits.has_colimit.iso_of_equivalence -> CategoryTheory.Limits.HasColimit.isoOfEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2), (CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2), (CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) -> (CategoryTheory.Iso.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalenceₓ'. -/
 /-- The colimits of `F : J ⥤ C` and `G : K ⥤ C` are isomorphic,
 if there is an equivalence `e : J ≌ K` making the triangle commute up to natural isomorphism.
 -/
@@ -965,6 +1430,12 @@ def HasColimit.isoOfEquivalence {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasC
   IsColimit.coconePointsIsoOfEquivalence (colimit.isColimit F) (colimit.isColimit G) e w
 #align category_theory.limits.has_colimit.iso_of_equivalence CategoryTheory.Limits.HasColimit.isoOfEquivalence
 
+/- warning: category_theory.limits.has_colimit.iso_of_equivalence_hom_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Functor.map.{u1, u5, u2, u6} J _inst_1 C _inst_3 F j (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j) (CategoryTheory.NatTrans.app.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Equivalence.unit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) j)))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (j : J), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 j) (CategoryTheory.Iso.hom.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1)) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (Prefunctor.map.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1)) j) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j) (CategoryTheory.NatTrans.app.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Equivalence.unit.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) j)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) (CategoryTheory.Iso.inv.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 K _inst_2 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} J _inst_1 J _inst_1 (CategoryTheory.Functor.comp.{u1, u3, u1, u2, u4, u2} J _inst_1 K _inst_2 J _inst_1 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) j)))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (j : J) :
@@ -976,6 +1447,12 @@ theorem HasColimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasColimit F] {G : K 
   simp
 #align category_theory.limits.has_colimit.iso_of_equivalence_hom_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_hom_π
 
+/- warning: category_theory.limits.has_colimit.iso_of_equivalence_inv_π -> CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_π is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 K _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Functor.map.{u3, u5, u4, u6} K _inst_2 C _inst_3 G k (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) (CategoryTheory.Equivalence.counitInv.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 G (CategoryTheory.Functor.obj.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e)) k)) (CategoryTheory.Functor.obj.{u1, u5, u2, u6} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) G) F w) (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] {G : CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3} [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G] (e : CategoryTheory.Equivalence.{u1, u3, u2, u4} J K _inst_1 _inst_2) (w : CategoryTheory.Iso.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F) (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5 k) (CategoryTheory.Iso.inv.{u5, u6} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 G _inst_5) (CategoryTheory.Limits.HasColimit.isoOfEquivalence.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 G _inst_5 e w))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (Prefunctor.map.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2)) k) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k) (CategoryTheory.NatTrans.app.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.id.{u3, u4} K _inst_2) (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) (CategoryTheory.Equivalence.counitInv.{u1, u3, u2, u4} J _inst_1 K _inst_2 e) k)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 G) (Prefunctor.obj.{succ u3, succ u3, u4, u4} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u3, u4, u4} K _inst_2 K _inst_2 (CategoryTheory.Functor.comp.{u3, u1, u3, u4, u2, u4} K _inst_2 J _inst_1 K _inst_2 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e))) k)) (Prefunctor.obj.{succ u1, succ u5, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u5, u2, u6} J _inst_1 C _inst_3 F) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.NatTrans.app.{u1, u5, u2, u6} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F (CategoryTheory.Iso.hom.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u3, u5, u2, u4, u6} J _inst_1 K _inst_2 C _inst_3 (CategoryTheory.Equivalence.functor.{u1, u3, u2, u4} J K _inst_1 _inst_2 e) G) F w) (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u4} J K _inst_1 _inst_2 e)) k))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit.iso_of_equivalence_inv_π CategoryTheory.Limits.HasColimit.isoOfEquivalence_inv_πₓ'. -/
 @[simp]
 theorem HasColimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasColimit F] {G : K ⥤ C} [HasColimit G]
     (e : J ≌ K) (w : e.Functor ⋙ G ≅ F) (k : K) :
@@ -991,12 +1468,20 @@ section Pre
 
 variable (F) [HasColimit F] (E : K ⥤ J) [HasColimit (E ⋙ F)]
 
+#print CategoryTheory.Limits.colimit.pre /-
 /-- The canonical morphism from the colimit of `E ⋙ F` to the colimit of `F`.
 -/
 def colimit.pre : colimit (E ⋙ F) ⟶ colimit F :=
-  colimit.desc (E ⋙ F) ((Colimit.cocone F).whisker E)
+  colimit.desc (E ⋙ F) ((colimit.cocone F).whisker E)
 #align category_theory.limits.colimit.pre CategoryTheory.Limits.colimit.pre
+-/
 
+/- warning: category_theory.limits.colimit.ι_pre -> CategoryTheory.Limits.colimit.ι_pre is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Functor.obj.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (CategoryTheory.Functor.obj.{u3, u1, u4, u2} K _inst_2 J _inst_1 E k))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_5 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)] (k : K), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{succ u3, succ u5, u4, u6} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u3, u5, u4, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) k) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.ι.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) _inst_5 k) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F _inst_4 E _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u5, u6} J _inst_1 C _inst_3 F _inst_4 (Prefunctor.obj.{succ u3, succ u1, u4, u2} K (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} K (CategoryTheory.Category.toCategoryStruct.{u3, u4} K _inst_2)) J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u4, u2} K _inst_2 J _inst_1 E) k))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_preₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = colimit.ι F (E.obj k) :=
   by
@@ -1004,16 +1489,19 @@ theorem colimit.ι_pre (k : K) : colimit.ι (E ⋙ F) k ≫ colimit.pre F E = co
   rfl
 #align category_theory.limits.colimit.ι_pre CategoryTheory.Limits.colimit.ι_pre
 
+#print CategoryTheory.Limits.colimit.pre_desc /-
 @[simp, reassoc.1]
 theorem colimit.pre_desc (c : Cocone F) :
     colimit.pre F E ≫ colimit.desc F c = colimit.desc (E ⋙ F) (c.whisker E) := by
   ext <;> rw [← assoc, colimit.ι_pre] <;> simp
 #align category_theory.limits.colimit.pre_desc CategoryTheory.Limits.colimit.pre_desc
+-/
 
 variable {L : Type u₃} [Category.{v₃} L]
 
 variable (D : L ⥤ K) [HasColimit (D ⋙ E ⋙ F)]
 
+#print CategoryTheory.Limits.colimit.pre_pre /-
 @[simp]
 theorem colimit.pre_pre : colimit.pre (E ⋙ F) D ≫ colimit.pre F E = colimit.pre F (D ⋙ E) :=
   by
@@ -1022,9 +1510,11 @@ theorem colimit.pre_pre : colimit.pre (E ⋙ F) D ≫ colimit.pre F E = colimit.
   letI : has_colimit ((D ⋙ E) ⋙ F) := show has_colimit (D ⋙ E ⋙ F) by infer_instance
   exact (colimit.ι_pre F (D ⋙ E) j).symm
 #align category_theory.limits.colimit.pre_pre CategoryTheory.Limits.colimit.pre_pre
+-/
 
 variable {E F}
 
+#print CategoryTheory.Limits.colimit.pre_eq /-
 /-- -
 If we have particular colimit cocones available for `E ⋙ F` and for `F`,
 we obtain a formula for `colimit.pre F E`.
@@ -1035,6 +1525,7 @@ theorem colimit.pre_eq (s : ColimitCocone (E ⋙ F)) (t : ColimitCocone F) :
         s.IsColimit.desc (t.Cocone.whisker E) ≫ (colimit.isoColimitCocone t).inv :=
   by tidy
 #align category_theory.limits.colimit.pre_eq CategoryTheory.Limits.colimit.pre_eq
+-/
 
 end Pre
 
@@ -1044,13 +1535,25 @@ variable {D : Type u'} [Category.{v'} D]
 
 variable (F) [HasColimit F] (G : C ⥤ D) [HasColimit (F ⋙ G)]
 
+/- warning: category_theory.limits.colimit.post -> CategoryTheory.Limits.colimit.post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)], Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.postₓ'. -/
 /-- The canonical morphism from `G` applied to the colimit of `F ⋙ G`
 to `G` applied to the colimit of `F`.
 -/
 def colimit.post : colimit (F ⋙ G) ⟶ G.obj (colimit F) :=
-  colimit.desc (F ⋙ G) (G.mapCocone (Colimit.cocone F))
+  colimit.desc (F ⋙ G) (G.mapCocone (colimit.cocone F))
 #align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.post
 
+/- warning: category_theory.limits.colimit.ι_post -> CategoryTheory.Limits.colimit.ι_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Functor.obj.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) j) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Functor.obj.{u1, u3, u2, u5} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (j : J), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (Prefunctor.obj.{succ u1, succ u4, u2, u6} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u1, u4, u2, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)) j) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.ι.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 j) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6)) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (Prefunctor.obj.{succ u1, succ u3, u2, u5} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u5} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_postₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
   by
@@ -1058,6 +1561,12 @@ theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G =
   rfl
 #align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_post
 
+/- warning: category_theory.limits.colimit.post_desc -> CategoryTheory.Limits.colimit.post_desc is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] (F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u4, u6} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G)] (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u5} J _inst_1 C _inst_3 F), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u5} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u5} J _inst_1 C _inst_3 F _inst_5 c))) (CategoryTheory.Limits.colimit.desc.{u1, u2, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6 (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_descₓ'. -/
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
     colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) :=
@@ -1067,6 +1576,12 @@ theorem colimit.post_desc (c : Cocone F) :
   rfl
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
 
+/- warning: category_theory.limits.colimit.post_post -> CategoryTheory.Limits.colimit.post_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)))) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (CategoryTheory.Functor.obj.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.colimit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8) (CategoryTheory.Functor.map.{u4, u5, u7, u8} D _inst_4 E _inst_7 H (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (CategoryTheory.Functor.obj.{u3, u4, u6, u7} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6))) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] (F : CategoryTheory.Functor.{u1, u3, u2, u6} J _inst_1 C _inst_3) {D : Type.{u7}} [_inst_4 : CategoryTheory.Category.{u4, u7} D] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F] (G : CategoryTheory.Functor.{u3, u4, u6, u7} C _inst_3 D _inst_4) [_inst_6 : CategoryTheory.Limits.HasColimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G)] {E : Type.{u8}} [_inst_7 : CategoryTheory.Category.{u5, u8} E] (H : CategoryTheory.Functor.{u4, u5, u7, u8} D _inst_4 E _inst_7) [_inst_8 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H)], Eq.{succ u5} (Quiver.Hom.{succ u5, u8} E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)))) (CategoryTheory.CategoryStruct.comp.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7) (CategoryTheory.Limits.colimit.{u1, u2, u5, u8} J _inst_1 E _inst_7 (CategoryTheory.Functor.comp.{u1, u4, u5, u2, u7, u8} J _inst_1 D _inst_4 E _inst_7 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) H) _inst_8) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6)) (Prefunctor.obj.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.Limits.colimit.post.{u1, u2, u4, u5, u7, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) E _inst_7 _inst_6 H _inst_8) (Prefunctor.map.{succ u4, succ u5, u7, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) E (CategoryTheory.CategoryStruct.toQuiver.{u5, u8} E (CategoryTheory.Category.toCategoryStruct.{u5, u8} E _inst_7)) (CategoryTheory.Functor.toPrefunctor.{u4, u5, u7, u8} D _inst_4 E _inst_7 H) (CategoryTheory.Limits.colimit.{u1, u2, u4, u7} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u6, u7} J _inst_1 C _inst_3 D _inst_4 F G) _inst_6) (Prefunctor.obj.{succ u3, succ u4, u6, u7} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u6} C (CategoryTheory.Category.toCategoryStruct.{u3, u6} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u7} D (CategoryTheory.Category.toCategoryStruct.{u4, u7} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u6, u7} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u3, u6} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u6, u7} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_6))) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u5, u6, u8} J _inst_1 C _inst_3 F E _inst_7 _inst_5 (CategoryTheory.Functor.comp.{u3, u4, u5, u6, u7, u8} C _inst_3 D _inst_4 E _inst_7 G H) _inst_8)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_postₓ'. -/
 @[simp]
 theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     [HasColimit
@@ -1084,6 +1599,12 @@ theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
 
 end Post
 
+/- warning: category_theory.limits.colimit.pre_post -> CategoryTheory.Limits.colimit.pre_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasColimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [H : CategoryTheory.Limits.HasColimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G H) (CategoryTheory.Functor.map.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) H) (CategoryTheory.Limits.colimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (CategoryTheory.Functor.obj.{u5, u6, u7, u8} C _inst_3 D _inst_4 G (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E H) (CategoryTheory.Limits.colimit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u5, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u6, u8} D] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (F : CategoryTheory.Functor.{u1, u5, u2, u7} J _inst_1 C _inst_3) (G : CategoryTheory.Functor.{u5, u6, u7, u8} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F] [_inst_6 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F)] [_inst_7 : CategoryTheory.Limits.HasColimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)] [H : CategoryTheory.Limits.HasColimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G)], Eq.{succ u6} (Quiver.Hom.{succ u6, u8} D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u5, u6, u4, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) G) H) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6)) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.post.{u3, u4, u5, u6, u7, u8} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) D _inst_4 _inst_6 G H) (Prefunctor.map.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u3, u4, u5, u7} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u7} K _inst_2 J _inst_1 C _inst_3 E F) _inst_6) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u7} J _inst_1 K _inst_2 C _inst_3 F _inst_5 E _inst_6))) (CategoryTheory.CategoryStruct.comp.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4) (CategoryTheory.Limits.colimit.{u3, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u3, u1, u6, u4, u2, u8} K _inst_2 J _inst_1 D _inst_4 E (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G)) H) (CategoryTheory.Limits.colimit.{u1, u2, u6, u8} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7) (Prefunctor.obj.{succ u5, succ u6, u7, u8} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u7} C (CategoryTheory.Category.toCategoryStruct.{u5, u7} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u6, u8} D (CategoryTheory.Category.toCategoryStruct.{u6, u8} D _inst_4)) (CategoryTheory.Functor.toPrefunctor.{u5, u6, u7, u8} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.colimit.{u1, u2, u5, u7} J _inst_1 C _inst_3 F _inst_5)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u5, u6, u2, u7, u8} J _inst_1 C _inst_3 D _inst_4 F G) _inst_7 E H) (CategoryTheory.Limits.colimit.post.{u1, u2, u5, u6, u7, u8} J _inst_1 C _inst_3 F D _inst_4 _inst_5 G _inst_7))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_post CategoryTheory.Limits.colimit.pre_postₓ'. -/
 theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)]
     [H :
@@ -1102,12 +1623,24 @@ theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J 
 
 open CategoryTheory.Equivalence
 
+/- warning: category_theory.limits.has_colimit_equivalence_comp -> CategoryTheory.Limits.hasColimit_equivalence_comp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F], CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_compₓ'. -/
 instance hasColimit_equivalence_comp (e : K ≌ J) [HasColimit F] : HasColimit (e.Functor ⋙ F) :=
   HasColimit.mk
-    { Cocone := Cocone.whisker e.Functor (Colimit.cocone F)
+    { Cocone := Cocone.whisker e.Functor (colimit.cocone F)
       IsColimit := IsColimit.whiskerEquivalence (colimit.isColimit F) e }
 #align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_comp
 
+/- warning: category_theory.limits.has_colimit_of_equivalence_comp -> CategoryTheory.Limits.hasColimit_of_equivalence_comp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K _inst_2 J _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K _inst_2 J _inst_1 e) F)], CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u3, u1, u4, u2} K J _inst_2 _inst_1) [_inst_4 : CategoryTheory.Limits.HasColimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u3, u1, u4, u2} K J _inst_2 _inst_1 e) F)], CategoryTheory.Limits.HasColimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimit_of_equivalence_comp CategoryTheory.Limits.hasColimit_of_equivalence_compₓ'. -/
 /-- If a `E ⋙ F` has a colimit, and `E` is an equivalence, we can construct a colimit of `F`.
 -/
 theorem hasColimit_of_equivalence_comp (e : K ≌ J) [HasColimit (e.Functor ⋙ F)] : HasColimit F :=
@@ -1124,6 +1657,7 @@ section
 
 attribute [local simp] colim_map
 
+#print CategoryTheory.Limits.colim /-
 /-- `colimit F` is functorial in `F`, when `C` has all colimits of shape `J`. -/
 @[simps obj]
 def colim : (J ⥤ C) ⥤ C where
@@ -1137,22 +1671,41 @@ def colim : (J ⥤ C) ⥤ C where
     erw [← assoc, is_colimit.fac, is_colimit.fac, assoc, is_colimit.fac, ← assoc]
     rfl
 #align category_theory.limits.colim CategoryTheory.Limits.colim
+-/
 
 end
 
 variable {F} {G : J ⥤ C} (α : F ⟶ G)
 
+/- warning: category_theory.limits.colimit.ι_map -> CategoryTheory.Limits.colimit.ι_map is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) j) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) j))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (j : J), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) j) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) F G α)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j) (CategoryTheory.Limits.colimit.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) j))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_mapₓ'. -/
 @[simp, reassoc.1]
 theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫ colimit.ι G j := by
   apply is_colimit.fac
 #align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_map
 
+/- warning: category_theory.limits.colimit.map_desc -> CategoryTheory.Limits.colimit.map_desc is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) F G α) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) c)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.obj.{u3, u3, max u2 u4 u3, max u2 u4 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F α) c))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) (c : CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c)) (CategoryTheory.CategoryStruct.comp.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G)) (CategoryTheory.Limits.Cocone.pt.{u1, u3, u2, u4} J _inst_1 C _inst_3 G c) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) α) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 G) c)) (CategoryTheory.Limits.colimit.desc.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u2) u3, max (max u4 u2) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u2, u4} J _inst_1 C _inst_3 G F α)) c))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_descₓ'. -/
 @[simp]
 theorem colimit.map_desc (c : Cocone G) :
     colim.map α ≫ colimit.desc G c = colimit.desc F ((Cocones.precompose α).obj c) := by
   ext <;> rw [← assoc, colimit.ι_map, assoc, colimit.ι_desc, colimit.ι_desc] <;> rfl
 #align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_desc
 
+/- warning: category_theory.limits.colimit.pre_map -> CategoryTheory.Limits.colimit.pre_map is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u5), max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max u1 u5 u2 u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.map.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) F G α)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Functor.obj.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Functor.obj.{max u2 u5, u5, max u1 u5 u2 u6, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u5), max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u5, max (max (max u6 u2) u5) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) F G) [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (E : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) G) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F))) (Prefunctor.map.{max (succ u2) (succ u5), succ u5, max (max (max u2 u1) u6) u5, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u2, max (max (max u6 u5) u2) u1} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u2, u5, max (max (max u6 u5) u2) u1, u6} (CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u5, u2, u6} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u5, u6} J _inst_1 C _inst_3 _inst_4)) F G α)) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F)) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G)) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G) (CategoryTheory.whiskerLeft.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E F G α)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 G) E (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E G))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_mapₓ'. -/
 theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     colimit.pre F E ≫ colim.map α = colim.map (whiskerLeft E α) ≫ colimit.pre G E := by
   ext <;>
@@ -1160,15 +1713,33 @@ theorem colimit.pre_map [HasColimitsOfShape K C] (E : K ⥤ J) :
     rfl
 #align category_theory.limits.colimit.pre_map CategoryTheory.Limits.colimit.pre_map
 
+/- warning: category_theory.limits.colimit.pre_map' -> CategoryTheory.Limits.colimit.pre_map' is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{succ (max u4 u1), max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max u3 u1 u4 u2} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Functor.obj.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.map.{max u4 u5, u5, max u3 u5 u4 u6, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {K : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3] [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} K _inst_2 C _inst_3] (F : CategoryTheory.Functor.{u1, u5, u2, u6} J _inst_1 C _inst_3) {E₁ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} {E₂ : CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1} (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u2 u4) u1) u3} (CategoryTheory.Functor.{u3, u1, u4, u2} K _inst_2 J _inst_1) (CategoryTheory.Functor.category.{u3, u1, u4, u2} K _inst_2 J _inst_1))) E₁ E₂), Eq.{succ u5} (Quiver.Hom.{succ u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Limits.colimit.{u3, u4, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₁ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F))) (CategoryTheory.CategoryStruct.comp.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F)) (Prefunctor.obj.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F)) (CategoryTheory.Limits.colimit.{u1, u2, u5, u6} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.map.{max (succ u4) (succ u5), succ u5, max (max (max u4 u3) u6) u5, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u5 u4, max (max (max u6 u5) u4) u3} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u5, u6} C (CategoryTheory.Category.toCategoryStruct.{u5, u6} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u5 u4, u5, max (max (max u6 u5) u4) u3, u6} (CategoryTheory.Functor.{u3, u5, u4, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u3, u5, u4, u6} K _inst_2 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u3, u4, u5, u6} K _inst_2 C _inst_3 _inst_5)) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₁ F) (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F) (CategoryTheory.whiskerRight.{u4, u3, u2, u1, u6, u5} K _inst_2 J _inst_1 C _inst_3 E₁ E₂ α F)) (CategoryTheory.Limits.colimit.pre.{u1, u2, u3, u4, u5, u6} J _inst_1 K _inst_2 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u5, u6} C _inst_3 J _inst_1 _inst_4 F) E₂ (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u3, u4, u5, u6} C _inst_3 K _inst_2 _inst_5 (CategoryTheory.Functor.comp.{u3, u1, u5, u4, u2, u6} K _inst_2 J _inst_1 C _inst_3 E₂ F))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'ₓ'. -/
 theorem colimit.pre_map' [HasColimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J} (α : E₁ ⟶ E₂) :
     colimit.pre F E₁ = colim.map (whiskerRight α F) ≫ colimit.pre F E₂ := by
   ext1 <;> simp [← category.assoc]
 #align category_theory.limits.colimit.pre_map' CategoryTheory.Limits.colimit.pre_map'
 
+/- warning: category_theory.limits.colimit.pre_id -> CategoryTheory.Limits.colimit.pre_id is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Iso.hom.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3] (F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3), Eq.{succ u3} (Quiver.Hom.{succ u3, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Limits.colimit.pre.{u1, u2, u1, u2, u3, u4} J _inst_1 J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 F) (CategoryTheory.Functor.id.{u1, u2} J _inst_1) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u4} C _inst_3 J _inst_1 _inst_4 (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F))) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u4) u3, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Iso.hom.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.comp.{u1, u1, u3, u2, u2, u4} J _inst_1 J _inst_1 C _inst_3 (CategoryTheory.Functor.id.{u1, u2} J _inst_1) F) F (CategoryTheory.Functor.leftUnitor.{u2, u1, u4, u3} J _inst_1 C _inst_3 F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_idₓ'. -/
 theorem colimit.pre_id (F : J ⥤ C) : colimit.pre F (𝟭 _) = colim.map (Functor.leftUnitor F).Hom :=
   by tidy
 #align category_theory.limits.colimit.pre_id CategoryTheory.Limits.colimit.pre_id
 
+/- warning: category_theory.limits.colimit.map_post -> CategoryTheory.Limits.colimit.map_post is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.map.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G) (CategoryTheory.Functor.map.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) F G α))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (CategoryTheory.Functor.obj.{max u2 u4, u4, max u1 u4 u2 u6, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (CategoryTheory.Functor.obj.{u3, u4, u5, u6} C _inst_3 D _inst_5 H (CategoryTheory.Functor.obj.{max u2 u3, u3, max u1 u3 u2 u5, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u2 u4, u4, max u1 u4 u2 u6, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))))
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u3, u5} C] {F : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u5} J _inst_1 C _inst_3] {G : CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3} (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u5 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) F G) {D : Type.{u6}} [_inst_5 : CategoryTheory.Category.{u4, u6} D] [_inst_6 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u4, u6} J _inst_1 D _inst_5] (H : CategoryTheory.Functor.{u3, u4, u5, u6} C _inst_3 D _inst_5), Eq.{succ u4} (Quiver.Hom.{succ u4, u6} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (CategoryTheory.Limits.colimit.{u1, u2, u4, u6} J _inst_1 D _inst_5 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F))) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 F D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H))) (Prefunctor.map.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 F)) (Prefunctor.obj.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) G) (Prefunctor.map.{max (succ u2) (succ u3), succ u3, max (max (max u2 u1) u5) u3, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u5 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3))) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, u3, max (max (max u5 u3) u2) u1, u5} (CategoryTheory.Functor.{u1, u3, u2, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u5} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u5} J _inst_1 C _inst_3 _inst_4)) F G α))) (CategoryTheory.CategoryStruct.comp.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5) (Prefunctor.obj.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H)) (Prefunctor.obj.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H)) (Prefunctor.obj.{succ u3, succ u4, u5, u6} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u5} C (CategoryTheory.Category.toCategoryStruct.{u3, u5} C _inst_3)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u5, u6} C _inst_3 D _inst_5 H) (CategoryTheory.Limits.colimit.{u1, u2, u3, u5} J _inst_1 C _inst_3 G (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G))) (Prefunctor.map.{max (succ u2) (succ u4), succ u4, max (max (max u2 u1) u6) u4, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u6 u4) u2) u1} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5))) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u6} D (CategoryTheory.Category.toCategoryStruct.{u4, u6} D _inst_5)) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, u4, max (max (max u6 u4) u2) u1, u6} (CategoryTheory.Functor.{u1, u4, u2, u6} J _inst_1 D _inst_5) (CategoryTheory.Functor.category.{u1, u4, u2, u6} J _inst_1 D _inst_5) D _inst_5 (CategoryTheory.Limits.colim.{u1, u2, u4, u6} J _inst_1 D _inst_5 _inst_6)) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 F H) (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H) (CategoryTheory.whiskerRight.{u2, u1, u5, u3, u6, u4} J _inst_1 C _inst_3 D _inst_5 F G α H)) (CategoryTheory.Limits.colimit.post.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 G D _inst_5 (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u3, u5} C _inst_3 J _inst_1 _inst_4 G) H (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u2, u4, u6} D _inst_5 J _inst_1 _inst_6 (CategoryTheory.Functor.comp.{u1, u3, u4, u2, u5, u6} J _inst_1 C _inst_3 D _inst_5 G H))))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_postₓ'. -/
 theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D]
     (H : C ⥤ D) :/- H (colimit F) ⟶ H (colimit G) ⟶ colimit (G ⋙ H) vs
              H (colimit F) ⟶ colimit (F ⋙ H) ⟶ colimit (G ⋙ H) -/
@@ -1183,6 +1754,12 @@ theorem colimit.map_post {D : Type u'} [Category.{v'} D] [HasColimitsOfShape J D
   rfl
 #align category_theory.limits.colimit.map_post CategoryTheory.Limits.colimit.map_post
 
+/- warning: category_theory.limits.colim_coyoneda -> CategoryTheory.Limits.colimCoyoneda is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max u1 u3 u2 u4) u4 u3 u2, max (max u2 u3) (max u4 u3 u2) (max u1 u3 u2 u4) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max u4 u3 u2, max u1 u3 u2 u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max u4 u3 u2, max u1 u3 u2 u4, u4, max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ (max u1 u3 u2 u4)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.op.{max u2 u3, u3, max u1 u3 u2 u4, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u3, max u4 u3, max u4 u3 u2, u4, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.coyoneda.{u3, u4} C _inst_3) (CategoryTheory.Functor.obj.{max (succ u3) u3 u2, max (max u3 u4 (succ u3)) u4 u3 u2, max u3 (max u3 u2) (succ u3) (succ (max u3 u2)), max (max u4 u3) (max u4 u3 u2) (max u3 u4 (succ u3)) u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, succ u3, succ (max u3 u2)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u3 u2, max u3 u4 (succ u3), max u3 (max u3 u2) u4 (succ (max u3 u2))} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, succ (max u3 u2), max u3 u2} C _inst_3 Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] [_inst_4 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u3, u4} J _inst_1 C _inst_3], CategoryTheory.Iso.{max (max (max u4 u2) u3) u1, max (max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4) (max (max u2 u1) u4) u3) (max u2 u3) u4) u2 u3} (CategoryTheory.Functor.{max u2 u3, max (max u2 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u2 u3, max (max u4 u2) u3, max (max (max u4 u2) u3) u1, max (max u4 (succ u2)) (succ u3)} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.comp.{max u2 u3, u3, max (max u2 u3) u4, max (max (max u2 u1) u4) u3, u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ (max (max (max u4 u3) u2) u1)} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (CategoryTheory.Category.opposite.{max u3 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3)) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.op.{max u3 u2, u3, max (max (max u4 u3) u2) u1, u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3) C _inst_3 (CategoryTheory.Limits.colim.{u1, u2, u3, u4} J _inst_1 C _inst_3 _inst_4)) (CategoryTheory.Functor.comp.{u3, max u4 u3, max (max u2 u3) u4, u4, max u4 (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u3, u4} C _inst_3) (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.coyoneda.{u3, u4} C _inst_3) (Prefunctor.obj.{max (succ (max u2 u3)) (succ (succ u3)), max (max (max (max (succ (max u2 u3)) (succ u3)) (succ (succ u3))) (succ u3)) (succ u4), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}))) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})))) (CategoryTheory.Functor.toPrefunctor.{max (max u2 u3) (succ u3), max (max (max (max u2 u3) (succ u3)) u3) u4, max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3), max (max (max (max (max (max u2 u3) (succ u2) (succ u3)) u3) (succ u3)) u3) u4} (CategoryTheory.Functor.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, succ u3, max (succ u2) (succ u3)} Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.{max u4 u3, max u4 u2 u3, max (max (succ u3) u4) u3, max (max (max (max (succ u2) (succ u3)) u4) u2 u3) u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.category.{max u4 u3, max u4 u2 u3, max (max u4 (succ u3)) u3, max (max (max u4 (succ u2) (succ u3)) u3) u2 u3} (CategoryTheory.Functor.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.category.{u3, u3, u4, succ u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3}) (CategoryTheory.Functor.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2}) (CategoryTheory.Functor.category.{u3, max u2 u3, u4, max (succ u2) (succ u3)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.whiskeringRight.{u4, u3, succ u3, u3, max (succ u2) (succ u3), max u2 u3} C _inst_3 Type.{u3} CategoryTheory.types.{u3} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) CategoryTheory.uliftFunctor.{u2, u3}))) (CategoryTheory.cocones.{u1, u3, u2, u4} J _inst_1 C _inst_3)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyonedaₓ'. -/
 /-- The isomorphism between
 morphisms from the cone point of the colimit cocone for `F` to `W`
 and cocones over `F` with cone point `W`
@@ -1194,6 +1771,7 @@ def colimCoyoneda :
   NatIso.ofComponents (fun F => NatIso.ofComponents (colimit.homIso (unop F)) (by tidy)) (by tidy)
 #align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyoneda
 
+#print CategoryTheory.Limits.colimConstAdj /-
 /-- The colimit functor and constant functor are adjoint to each other
 -/
 def colimConstAdj : (colim : (J ⥤ C) ⥤ C) ⊣ const J
@@ -1216,23 +1794,38 @@ def colimConstAdj : (colim : (J ⥤ C) ⥤ C) ⊣ const J
   homEquiv_unit _ _ _ := NatTrans.ext _ _ <| funext fun _ => rfl
   homEquiv_counit _ _ _ := colimit.hom_ext fun _ => by simp
 #align category_theory.limits.colim_const_adj CategoryTheory.Limits.colimConstAdj
+-/
 
 instance : IsLeftAdjoint (colim : (J ⥤ C) ⥤ C) :=
   ⟨_, colimConstAdj⟩
 
 end ColimFunctor
 
+#print CategoryTheory.Limits.colimMap_epi' /-
 instance colimMap_epi' {F G : J ⥤ C} [HasColimitsOfShape J C] (α : F ⟶ G) [Epi α] :
     Epi (colimMap α) :=
   (colim : (J ⥤ C) ⥤ C).map_epi α
 #align category_theory.limits.colim_map_epi' CategoryTheory.Limits.colimMap_epi'
+-/
 
+/- warning: category_theory.limits.colim_map_epi -> CategoryTheory.Limits.colimMap_epi is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{succ (max u2 u3), max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max u1 u3 u2 u4} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u3, u2, u4} J _inst_1 C _inst_3 G j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u3, u4} C] {F : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3} [_inst_4 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F] [_inst_5 : CategoryTheory.Limits.HasColimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G] (α : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u4 u2) u3) u1} (CategoryTheory.Functor.{u1, u3, u2, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u3, u2, u4} J _inst_1 C _inst_3))) F G) [_inst_6 : forall (j : J), CategoryTheory.Epi.{u3, u4} C _inst_3 (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u3, u2, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} J (CategoryTheory.Category.toCategoryStruct.{u1, u2} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u3, u4} C (CategoryTheory.Category.toCategoryStruct.{u3, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u2, u4} J _inst_1 C _inst_3 G) j) (CategoryTheory.NatTrans.app.{u1, u3, u2, u4} J _inst_1 C _inst_3 F G α j)], CategoryTheory.Epi.{u3, u4} C _inst_3 (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 F _inst_4) (CategoryTheory.Limits.colimit.{u1, u2, u3, u4} J _inst_1 C _inst_3 G _inst_5) (CategoryTheory.Limits.colimMap.{u1, u2, u3, u4} J _inst_1 C _inst_3 F G _inst_4 _inst_5 α)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.colim_map_epi CategoryTheory.Limits.colimMap_epiₓ'. -/
 instance colimMap_epi {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶ G) [∀ j, Epi (α.app j)] :
     Epi (colimMap α) :=
   ⟨fun Z u v h =>
     colimit.hom_ext fun j => (cancel_epi (α.app j)).1 <| by simpa using colimit.ι _ j ≫= h⟩
 #align category_theory.limits.colim_map_epi CategoryTheory.Limits.colimMap_epi
 
+/- warning: category_theory.limits.has_colimits_of_shape_of_equivalence -> CategoryTheory.Limits.hasColimitsOfShape_of_equivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J _inst_1 J' _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
+but is expected to have type
+  forall {J : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} J] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u5, u6} C] {J' : Type.{u4}} [_inst_4 : CategoryTheory.Category.{u3, u4} J'], (CategoryTheory.Equivalence.{u1, u3, u2, u4} J J' _inst_1 _inst_4) -> (forall [_inst_5 : CategoryTheory.Limits.HasColimitsOfShape.{u1, u2, u5, u6} J _inst_1 C _inst_3], CategoryTheory.Limits.HasColimitsOfShape.{u3, u4, u5, u6} J' _inst_4 C _inst_3)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShape_of_equivalenceₓ'. -/
 /-- We can transport colimits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
@@ -1246,6 +1839,7 @@ theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J']
 
 variable (C)
 
+#print CategoryTheory.Limits.hasColimitsOfSize_shrink /-
 /-- `has_colimits_of_size_shrink.{v u} C` tries to obtain `has_colimits_of_size.{v u} C`
 from some other `has_colimits_of_size C`.
 -/
@@ -1253,16 +1847,20 @@ theorem hasColimitsOfSize_shrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u
     HasColimitsOfSize.{v₁, u₁} C :=
   ⟨fun J hJ => has_colimits_of_shape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
 #align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSize_shrink
+-/
 
-instance (priority := 100) has_smallest_colimits_of_hasColimits [HasColimits C] :
+#print CategoryTheory.Limits.hasSmallestColimitsOfHasColimits /-
+instance (priority := 100) hasSmallestColimitsOfHasColimits [HasColimits C] :
     HasColimitsOfSize.{0, 0} C :=
   hasColimitsOfSize_shrink.{0, 0} C
-#align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.has_smallest_colimits_of_hasColimits
+#align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.hasSmallestColimitsOfHasColimits
+-/
 
 end Colimit
 
 section Opposite
 
+#print CategoryTheory.Limits.IsLimit.op /-
 /-- If `t : cone F` is a limit cone, then `t.op : cocone F.op` is a colimit cocone.
 -/
 def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op
@@ -1277,7 +1875,9 @@ def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op
       rw [← w]
       rfl
 #align category_theory.limits.is_limit.op CategoryTheory.Limits.IsLimit.op
+-/
 
+#print CategoryTheory.Limits.IsColimit.op /-
 /-- If `t : cocone F` is a colimit cocone, then `t.op : cone F.op` is a limit cone.
 -/
 def IsColimit.op {t : Cocone F} (P : IsColimit t) : IsLimit t.op
@@ -1292,7 +1892,9 @@ def IsColimit.op {t : Cocone F} (P : IsColimit t) : IsLimit t.op
       rw [← w]
       rfl
 #align category_theory.limits.is_colimit.op CategoryTheory.Limits.IsColimit.op
+-/
 
+#print CategoryTheory.Limits.IsLimit.unop /-
 /-- If `t : cone F.op` is a limit cone, then `t.unop : cocone F` is a colimit cocone.
 -/
 def IsLimit.unop {t : Cone F.op} (P : IsLimit t) : IsColimit t.unop
@@ -1307,7 +1909,9 @@ def IsLimit.unop {t : Cone F.op} (P : IsLimit t) : IsColimit t.unop
       rw [← w]
       rfl
 #align category_theory.limits.is_limit.unop CategoryTheory.Limits.IsLimit.unop
+-/
 
+#print CategoryTheory.Limits.IsColimit.unop /-
 /-- If `t : cocone F.op` is a colimit cocone, then `t.unop : cone F.` is a limit cone.
 -/
 def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop
@@ -1322,20 +1926,25 @@ def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop
       rw [← w]
       rfl
 #align category_theory.limits.is_colimit.unop CategoryTheory.Limits.IsColimit.unop
+-/
 
+#print CategoryTheory.Limits.isLimitEquivIsColimitOp /-
 /-- `t : cone F` is a limit cone if and only is `t.op : cocone F.op` is a colimit cocone.
 -/
 def isLimitEquivIsColimitOp {t : Cone F} : IsLimit t ≃ IsColimit t.op :=
   equivOfSubsingletonOfSubsingleton IsLimit.op fun P =>
     P.unop.ofIsoLimit (Cones.ext (Iso.refl _) (by tidy))
 #align category_theory.limits.is_limit_equiv_is_colimit_op CategoryTheory.Limits.isLimitEquivIsColimitOp
+-/
 
+#print CategoryTheory.Limits.isColimitEquivIsLimitOp /-
 /-- `t : cocone F` is a colimit cocone if and only is `t.op : cone F.op` is a limit cone.
 -/
 def isColimitEquivIsLimitOp {t : Cocone F} : IsColimit t ≃ IsLimit t.op :=
   equivOfSubsingletonOfSubsingleton IsColimit.op fun P =>
     P.unop.ofIsoColimit (Cocones.ext (Iso.refl _) (by tidy))
 #align category_theory.limits.is_colimit_equiv_is_limit_op CategoryTheory.Limits.isColimitEquivIsLimitOp
+-/
 
 end Opposite
 
Diff
@@ -124,16 +124,16 @@ theorem HasLimits.hasLimitsOfShape {C : Type u} [Category.{v} C] [HasLimits C] (
 variable {J C}
 
 -- see Note [lower instance priority]
-instance (priority := 100) hasLimitOfHasLimitsOfShape {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasLimit_of_hasLimitsOfShape {J : Type u₁} [Category.{v₁} J]
     [H : HasLimitsOfShape J C] (F : J ⥤ C) : HasLimit F :=
   HasLimitsOfShape.hasLimit F
-#align category_theory.limits.has_limit_of_has_limits_of_shape CategoryTheory.Limits.hasLimitOfHasLimitsOfShape
+#align category_theory.limits.has_limit_of_has_limits_of_shape CategoryTheory.Limits.hasLimit_of_hasLimitsOfShape
 
 -- see Note [lower instance priority]
-instance (priority := 100) hasLimitsOfShapeOfHasLimits {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasLimitsOfShape_of_has_limits {J : Type u₁} [Category.{v₁} J]
     [H : HasLimitsOfSize.{v₁, u₁} C] : HasLimitsOfShape J C :=
   HasLimitsOfSize.hasLimitsOfShape J
-#align category_theory.limits.has_limits_of_shape_of_has_limits CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits
+#align category_theory.limits.has_limits_of_shape_of_has_limits CategoryTheory.Limits.hasLimitsOfShape_of_has_limits
 
 -- Interface to the `has_limit` class.
 /-- An arbitrary choice of limit cone for a functor. -/
@@ -310,31 +310,31 @@ theorem limit.lift_extend {F : J ⥤ C} [HasLimit F] (c : Cone F) {X : C} (f : X
 
 /-- If a functor `F` has a limit, so does any naturally isomorphic functor.
 -/
-theorem hasLimitOfIso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :=
+theorem hasLimit_of_iso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :=
   HasLimit.mk
     { Cone := (Cones.postcompose α.Hom).obj (Limit.cone F)
       IsLimit :=
         { lift := fun s => limit.lift F ((Cones.postcompose α.inv).obj s)
-          fac' := fun s j =>
+          fac := fun s j =>
             by
             rw [cones.postcompose_obj_π, nat_trans.comp_app, limit.cone_π, ← category.assoc,
               limit.lift_π]
             simp
-          uniq' := fun s m w => by
+          uniq := fun s m w => by
             apply limit.hom_ext; intro j
             rw [limit.lift_π, cones.postcompose_obj_π, nat_trans.comp_app, ← nat_iso.app_inv,
               iso.eq_comp_inv]
             simpa using w j } }
-#align category_theory.limits.has_limit_of_iso CategoryTheory.Limits.hasLimitOfIso
+#align category_theory.limits.has_limit_of_iso CategoryTheory.Limits.hasLimit_of_iso
 
 -- See the construction of limits from products and equalizers
 -- for an example usage.
 /-- If a functor `G` has the same collection of cones as a functor `F`
 which has a limit, then `G` also has a limit. -/
-theorem HasLimit.ofConesIso {J K : Type u₁} [Category.{v₁} J] [Category.{v₂} K] (F : J ⥤ C)
+theorem HasLimit.of_cones_iso {J K : Type u₁} [Category.{v₁} J] [Category.{v₂} K] (F : J ⥤ C)
     (G : K ⥤ C) (h : F.cones ≅ G.cones) [HasLimit F] : HasLimit G :=
   HasLimit.mk ⟨_, IsLimit.ofNatIso (IsLimit.natIso (limit.isLimit F) ≪≫ h)⟩
-#align category_theory.limits.has_limit.of_cones_iso CategoryTheory.Limits.HasLimit.ofConesIso
+#align category_theory.limits.has_limit.of_cones_iso CategoryTheory.Limits.HasLimit.of_cones_iso
 
 /-- The limits of `F : J ⥤ C` and `G : J ⥤ C` are isomorphic,
 if the functors are naturally isomorphic.
@@ -501,22 +501,22 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
 
 open CategoryTheory.Equivalence
 
-instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
+instance hasLimit_equivalence_comp (e : K ≌ J) [HasLimit F] : HasLimit (e.Functor ⋙ F) :=
   HasLimit.mk
     { Cone := Cone.whisker e.Functor (Limit.cone F)
       IsLimit := IsLimit.whiskerEquivalence (limit.isLimit F) e }
-#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceComp
+#align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimit_equivalence_comp
 
 attribute [local elab_without_expected_type] inv_fun_id_assoc
 
 -- not entirely sure why this is needed
 /-- If a `E ⋙ F` has a limit, and `E` is an equivalence, we can construct a limit of `F`.
 -/
-theorem hasLimitOfEquivalenceComp (e : K ≌ J) [HasLimit (e.Functor ⋙ F)] : HasLimit F :=
+theorem hasLimit_of_equivalence_comp (e : K ≌ J) [HasLimit (e.Functor ⋙ F)] : HasLimit F :=
   by
   haveI : has_limit (e.inverse ⋙ e.functor ⋙ F) := limits.has_limit_equivalence_comp e.symm
   apply has_limit_of_iso (e.inv_fun_id_assoc F)
-#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimitOfEquivalenceComp
+#align category_theory.limits.has_limit_of_equivalence_comp CategoryTheory.Limits.hasLimit_of_equivalence_comp
 
 -- `has_limit_comp_equivalence` and `has_limit_of_comp_equivalence`
 -- are proved in `category_theory/adjunction/limits.lean`.
@@ -625,28 +625,29 @@ instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [
 
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
-theorem hasLimitsOfShapeOfEquivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
+theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasLimitsOfShape J C] : HasLimitsOfShape J' C :=
   by
   constructor
   intro F
   apply has_limit_of_equivalence_comp e
   infer_instance
-#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence
+#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
 
 variable (C)
 
 /-- `has_limits_of_size_shrink.{v u} C` tries to obtain `has_limits_of_size.{v u} C`
 from some other `has_limits_of_size C`.
 -/
-theorem hasLimitsOfSizeShrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
+theorem hasLimitsOfSize_shrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
     HasLimitsOfSize.{v₁, u₁} C :=
   ⟨fun J hJ => has_limits_of_shape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
-#align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSizeShrink
+#align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSize_shrink
 
-instance (priority := 100) hasSmallestLimitsOfHasLimits [HasLimits C] : HasLimitsOfSize.{0, 0} C :=
-  hasLimitsOfSizeShrink.{0, 0} C
-#align category_theory.limits.has_smallest_limits_of_has_limits CategoryTheory.Limits.hasSmallestLimitsOfHasLimits
+instance (priority := 100) has_smallest_limits_of_hasLimits [HasLimits C] :
+    HasLimitsOfSize.{0, 0} C :=
+  hasLimitsOfSize_shrink.{0, 0} C
+#align category_theory.limits.has_smallest_limits_of_has_limits CategoryTheory.Limits.has_smallest_limits_of_hasLimits
 
 end Limit
 
@@ -703,16 +704,16 @@ theorem HasColimits.hasColimitsOfShape {C : Type u} [Category.{v} C] [HasColimit
 variable {J C}
 
 -- see Note [lower instance priority]
-instance (priority := 100) hasColimitOfHasColimitsOfShape {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasColimit_of_hasColimitsOfShape {J : Type u₁} [Category.{v₁} J]
     [H : HasColimitsOfShape J C] (F : J ⥤ C) : HasColimit F :=
   HasColimitsOfShape.hasColimit F
-#align category_theory.limits.has_colimit_of_has_colimits_of_shape CategoryTheory.Limits.hasColimitOfHasColimitsOfShape
+#align category_theory.limits.has_colimit_of_has_colimits_of_shape CategoryTheory.Limits.hasColimit_of_hasColimitsOfShape
 
 -- see Note [lower instance priority]
-instance (priority := 100) hasColimitsOfShapeOfHasColimitsOfSize {J : Type u₁} [Category.{v₁} J]
+instance (priority := 100) hasColimitsOfShape_of_hasColimitsOfSize {J : Type u₁} [Category.{v₁} J]
     [H : HasColimitsOfSize.{v₁, u₁} C] : HasColimitsOfShape J C :=
   HasColimitsOfSize.hasColimitsOfShape J
-#align category_theory.limits.has_colimits_of_shape_of_has_colimits_of_size CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize
+#align category_theory.limits.has_colimits_of_shape_of_has_colimits_of_size CategoryTheory.Limits.hasColimitsOfShape_of_hasColimitsOfSize
 
 -- Interface to the `has_colimit` class.
 /-- An arbitrary choice of colimit cocone of a functor. -/
@@ -897,28 +898,28 @@ theorem colimit.desc_extend (F : J ⥤ C) [HasColimit F] (c : Cocone F) {X : C}
 -- This is intentional; it seems to help with elaboration.
 /-- If `F` has a colimit, so does any naturally isomorphic functor.
 -/
-theorem hasColimitOfIso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColimit G :=
+theorem hasColimit_of_iso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColimit G :=
   HasColimit.mk
     { Cocone := (Cocones.precompose α.Hom).obj (Colimit.cocone F)
       IsColimit :=
         { desc := fun s => colimit.desc F ((Cocones.precompose α.inv).obj s)
-          fac' := fun s j =>
+          fac := fun s j =>
             by
             rw [cocones.precompose_obj_ι, nat_trans.comp_app, colimit.cocone_ι]
             rw [category.assoc, colimit.ι_desc, ← nat_iso.app_hom, ← iso.eq_inv_comp]; rfl
-          uniq' := fun s m w => by
+          uniq := fun s m w => by
             apply colimit.hom_ext; intro j
             rw [colimit.ι_desc, cocones.precompose_obj_ι, nat_trans.comp_app, ← nat_iso.app_inv,
               iso.eq_inv_comp]
             simpa using w j } }
-#align category_theory.limits.has_colimit_of_iso CategoryTheory.Limits.hasColimitOfIso
+#align category_theory.limits.has_colimit_of_iso CategoryTheory.Limits.hasColimit_of_iso
 
 /-- If a functor `G` has the same collection of cocones as a functor `F`
 which has a colimit, then `G` also has a colimit. -/
-theorem HasColimit.ofCoconesIso {K : Type u₁} [Category.{v₂} K] (F : J ⥤ C) (G : K ⥤ C)
+theorem HasColimit.of_cocones_iso {K : Type u₁} [Category.{v₂} K] (F : J ⥤ C) (G : K ⥤ C)
     (h : F.cocones ≅ G.cocones) [HasColimit F] : HasColimit G :=
   HasColimit.mk ⟨_, IsColimit.ofNatIso (IsColimit.natIso (colimit.isColimit F) ≪≫ h)⟩
-#align category_theory.limits.has_colimit.of_cocones_iso CategoryTheory.Limits.HasColimit.ofCoconesIso
+#align category_theory.limits.has_colimit.of_cocones_iso CategoryTheory.Limits.HasColimit.of_cocones_iso
 
 /-- The colimits of `F : J ⥤ C` and `G : J ⥤ C` are isomorphic,
 if the functors are naturally isomorphic.
@@ -1101,19 +1102,19 @@ theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J 
 
 open CategoryTheory.Equivalence
 
-instance hasColimitEquivalenceComp (e : K ≌ J) [HasColimit F] : HasColimit (e.Functor ⋙ F) :=
+instance hasColimit_equivalence_comp (e : K ≌ J) [HasColimit F] : HasColimit (e.Functor ⋙ F) :=
   HasColimit.mk
     { Cocone := Cocone.whisker e.Functor (Colimit.cocone F)
       IsColimit := IsColimit.whiskerEquivalence (colimit.isColimit F) e }
-#align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimitEquivalenceComp
+#align category_theory.limits.has_colimit_equivalence_comp CategoryTheory.Limits.hasColimit_equivalence_comp
 
 /-- If a `E ⋙ F` has a colimit, and `E` is an equivalence, we can construct a colimit of `F`.
 -/
-theorem hasColimitOfEquivalenceComp (e : K ≌ J) [HasColimit (e.Functor ⋙ F)] : HasColimit F :=
+theorem hasColimit_of_equivalence_comp (e : K ≌ J) [HasColimit (e.Functor ⋙ F)] : HasColimit F :=
   by
   haveI : has_colimit (e.inverse ⋙ e.functor ⋙ F) := limits.has_colimit_equivalence_comp e.symm
   apply has_colimit_of_iso (e.inv_fun_id_assoc F).symm
-#align category_theory.limits.has_colimit_of_equivalence_comp CategoryTheory.Limits.hasColimitOfEquivalenceComp
+#align category_theory.limits.has_colimit_of_equivalence_comp CategoryTheory.Limits.hasColimit_of_equivalence_comp
 
 section ColimFunctor
 
@@ -1234,29 +1235,29 @@ instance colimMap_epi {F G : J ⥤ C} [HasColimit F] [HasColimit G] (α : F ⟶
 
 /-- We can transport colimits of shape `J` along an equivalence `J ≌ J'`.
 -/
-theorem hasColimitsOfShapeOfEquivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
+theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasColimitsOfShape J C] : HasColimitsOfShape J' C :=
   by
   constructor
   intro F
   apply has_colimit_of_equivalence_comp e
   infer_instance
-#align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShapeOfEquivalence
+#align category_theory.limits.has_colimits_of_shape_of_equivalence CategoryTheory.Limits.hasColimitsOfShape_of_equivalence
 
 variable (C)
 
 /-- `has_colimits_of_size_shrink.{v u} C` tries to obtain `has_colimits_of_size.{v u} C`
 from some other `has_colimits_of_size C`.
 -/
-theorem hasColimitsOfSizeShrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
+theorem hasColimitsOfSize_shrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
     HasColimitsOfSize.{v₁, u₁} C :=
   ⟨fun J hJ => has_colimits_of_shape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
-#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSizeShrink
+#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSize_shrink
 
-instance (priority := 100) hasSmallestColimitsOfHasColimits [HasColimits C] :
+instance (priority := 100) has_smallest_colimits_of_hasColimits [HasColimits C] :
     HasColimitsOfSize.{0, 0} C :=
-  hasColimitsOfSizeShrink.{0, 0} C
-#align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.hasSmallestColimitsOfHasColimits
+  hasColimitsOfSize_shrink.{0, 0} C
+#align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.has_smallest_colimits_of_hasColimits
 
 end Colimit
 
@@ -1267,8 +1268,8 @@ section Opposite
 def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op
     where
   desc s := (P.lift s.unop).op
-  fac' s j := congr_arg Quiver.Hom.op (P.fac s.unop (unop j))
-  uniq' s m w := by
+  fac s j := congr_arg Quiver.Hom.op (P.fac s.unop (unop j))
+  uniq s m w := by
     rw [← P.uniq s.unop m.unop]
     · rfl
     · dsimp
@@ -1282,8 +1283,8 @@ def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op
 def IsColimit.op {t : Cocone F} (P : IsColimit t) : IsLimit t.op
     where
   lift s := (P.desc s.unop).op
-  fac' s j := congr_arg Quiver.Hom.op (P.fac s.unop (unop j))
-  uniq' s m w := by
+  fac s j := congr_arg Quiver.Hom.op (P.fac s.unop (unop j))
+  uniq s m w := by
     rw [← P.uniq s.unop m.unop]
     · rfl
     · dsimp
@@ -1297,8 +1298,8 @@ def IsColimit.op {t : Cocone F} (P : IsColimit t) : IsLimit t.op
 def IsLimit.unop {t : Cone F.op} (P : IsLimit t) : IsColimit t.unop
     where
   desc s := (P.lift s.op).unop
-  fac' s j := congr_arg Quiver.Hom.unop (P.fac s.op (op j))
-  uniq' s m w := by
+  fac s j := congr_arg Quiver.Hom.unop (P.fac s.op (op j))
+  uniq s m w := by
     rw [← P.uniq s.op m.op]
     · rfl
     · dsimp
@@ -1312,8 +1313,8 @@ def IsLimit.unop {t : Cone F.op} (P : IsLimit t) : IsColimit t.unop
 def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop
     where
   lift s := (P.desc s.op).unop
-  fac' s j := congr_arg Quiver.Hom.unop (P.fac s.op (op j))
-  uniq' s m w := by
+  fac s j := congr_arg Quiver.Hom.unop (P.fac s.op (op j))
+  uniq s m w := by
     rw [← P.uniq s.op m.op]
     · rfl
     · dsimp

Changes in mathlib4

mathlib3
mathlib4
chore: classify porting notes referring to missing linters (#12098)

Reference the newly created issues #12094 and #12096, as well as the pre-existing #5171. Change all references to #10927 to #5171. Some of these changes were not labelled as "porting note"; change this for good measure.

Diff
@@ -73,7 +73,7 @@ variable {F : J ⥤ C}
 section Limit
 
 /-- `LimitCone F` contains a cone over `F` together with the information that it is a limit. -/
--- @[nolint has_nonempty_instance] -- Porting note: removed
+-- @[nolint has_nonempty_instance] -- Porting note(#5171): removed; linter not ported yet
 structure LimitCone (F : J ⥤ C) where
   /-- The cone itself -/
   cone : Cone F
@@ -659,7 +659,7 @@ section Colimit
 
 /-- `ColimitCocone F` contains a cocone over `F` together with the information that it is a
     colimit. -/
--- @[nolint has_nonempty_instance] -- Porting note: removed
+-- @[nolint has_nonempty_instance] -- Porting note(#5171): removed; linter not ported yet
 structure ColimitCocone (F : J ⥤ C) where
   /-- The cocone itself -/
   cocone : Cocone F
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -67,9 +67,7 @@ namespace CategoryTheory.Limits
 universe v₁ u₁ v₂ u₂ v₃ u₃ v v' v'' u u' u''
 
 variable {J : Type u₁} [Category.{v₁} J] {K : Type u₂} [Category.{v₂} K]
-
 variable {C : Type u} [Category.{v} C]
-
 variable {F : J ⥤ C}
 
 section Limit
@@ -414,7 +412,6 @@ theorem limit.lift_pre (c : Cone F) :
 #align category_theory.limits.limit.lift_pre CategoryTheory.Limits.limit.lift_pre
 
 variable {L : Type u₃} [Category.{v₃} L]
-
 variable (D : L ⥤ K) [HasLimit (D ⋙ E ⋙ F)]
 
 @[simp]
@@ -441,7 +438,6 @@ end Pre
 section Post
 
 variable {D : Type u'} [Category.{v'} D]
-
 variable (F) [HasLimit F] (G : C ⥤ D) [HasLimit (F ⋙ G)]
 
 /-- The canonical morphism from `G` applied to the limit of `F` to the limit of `F ⋙ G`.
@@ -1008,7 +1004,6 @@ theorem colimit.pre_desc (c : Cocone F) :
 #align category_theory.limits.colimit.pre_desc CategoryTheory.Limits.colimit.pre_desc
 
 variable {L : Type u₃} [Category.{v₃} L]
-
 variable (D : L ⥤ K) [HasColimit (D ⋙ E ⋙ F)]
 
 @[simp]
@@ -1039,7 +1034,6 @@ end Pre
 section Post
 
 variable {D : Type u'} [Category.{v'} D]
-
 variable (F) [HasColimit F] (G : C ⥤ D) [HasColimit (F ⋙ G)]
 
 /-- The canonical morphism from `G` applied to the colimit of `F ⋙ G`
chore(CategoryTheory/Limits/HasLimits): golf proofs (#10532)
Diff
@@ -317,17 +317,7 @@ theorem limit.lift_extend {F : J ⥤ C} [HasLimit F] (c : Cone F) {X : C} (f : X
 theorem hasLimitOfIso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :=
   HasLimit.mk
     { cone := (Cones.postcompose α.hom).obj (limit.cone F)
-      isLimit :=
-        { lift := fun s => limit.lift F ((Cones.postcompose α.inv).obj s)
-          fac := fun s j => by
-            rw [Cones.postcompose_obj_π, NatTrans.comp_app, limit.cone_π, ← Category.assoc,
-              limit.lift_π]
-            simp
-          uniq := fun s m w => by
-            apply limit.hom_ext; intro j
-            rw [limit.lift_π, Cones.postcompose_obj_π, NatTrans.comp_app, ← NatIso.app_inv,
-              Iso.eq_comp_inv]
-            simpa using w j } }
+      isLimit := (IsLimit.postcomposeHomEquiv _ _).symm (limit.isLimit F) }
 #align category_theory.limits.has_limit_of_iso CategoryTheory.Limits.hasLimitOfIso
 
 -- See the construction of limits from products and equalizers
@@ -925,16 +915,7 @@ theorem colimit.desc_extend (F : J ⥤ C) [HasColimit F] (c : Cocone F) {X : C}
 theorem hasColimitOfIso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColimit G :=
   HasColimit.mk
     { cocone := (Cocones.precompose α.hom).obj (colimit.cocone F)
-      isColimit :=
-        { desc := fun s => colimit.desc F ((Cocones.precompose α.inv).obj s)
-          fac := fun s j => by
-            rw [Cocones.precompose_obj_ι, NatTrans.comp_app, colimit.cocone_ι]
-            rw [Category.assoc, colimit.ι_desc, ← NatIso.app_hom, ← Iso.eq_inv_comp]; rfl
-          uniq := fun s m w => by
-            apply colimit.hom_ext; intro j
-            rw [colimit.ι_desc, Cocones.precompose_obj_ι, NatTrans.comp_app, ← NatIso.app_inv,
-              Iso.eq_inv_comp]
-            simpa using w j } }
+      isColimit := (IsColimit.precomposeHomEquiv _ _).symm (colimit.isColimit F) }
 #align category_theory.limits.has_colimit_of_iso CategoryTheory.Limits.hasColimitOfIso
 
 /-- If a functor `G` has the same collection of cocones as a functor `F`
feat(CategoryTheory): prerequisites for the existence of finite products in localized categories (#9702)

This PR contains various prerequisites in order to show that under suitable assumptions, a localized category of a category that has finite products also has finite products:

  • the equivalence of categories (J → C) ≌ (Discrete J ⥤ C)
  • more API for the existence of limits as a consequence of a right adjoint to the constant functor C ⥤ (J ⥤ C).
  • the typeclass MorphismProperty.IsStableUnderFiniteProducts
Diff
@@ -608,6 +608,37 @@ instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [
     limit.hom_ext fun j => (cancel_mono (α.app j)).1 <| by simpa using h =≫ limit.π _ j⟩
 #align category_theory.limits.lim_map_mono CategoryTheory.Limits.limMap_mono
 
+section Adjunction
+
+variable {L : (J ⥤ C) ⥤ C} (adj : Functor.const _ ⊣ L)
+
+/- The fact that the existence of limits of shape `J` is equivalent to the existence
+of a right adjoint to the constant functor `C ⥤ (J ⥤ C)` is obtained in
+the file `Mathlib.CategoryTheory.Limits.ConeCategory`: see the lemma
+`hasLimitsOfShape_iff_isLeftAdjoint_const`. In the definitions below, given an
+adjunction `adj : Functor.const _ ⊣ (L : (J ⥤ C) ⥤ C)`, we directly construct
+a limit cone for any `F : J ⥤ C`. -/
+
+/-- The limit cone obtained from a right adjoint of the constant functor. -/
+@[simps]
+noncomputable def coneOfAdj (F : J ⥤ C) : Cone F where
+  pt := L.obj F
+  π := adj.counit.app F
+
+/-- The cones defined by `coneOfAdj` are limit cones. -/
+@[simps]
+def isLimitConeOfAdj (F : J ⥤ C) :
+    IsLimit (coneOfAdj adj F) where
+  lift s := adj.homEquiv _ _ s.π
+  fac s j := by
+    have eq := NatTrans.congr_app (adj.counit.naturality s.π) j
+    have eq' := NatTrans.congr_app (adj.left_triangle_components s.pt) j
+    dsimp at eq eq' ⊢
+    rw [Adjunction.homEquiv_unit, assoc, eq, reassoc_of% eq']
+  uniq s m hm := (adj.homEquiv _ _).symm.injective (by ext j; simpa using hm j)
+
+end Adjunction
+
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
 theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
chore: reduce imports (#9830)

This uses the improved shake script from #9772 to reduce imports across mathlib. The corresponding noshake.json file has been added to #9772.

Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -6,6 +6,7 @@ Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
 import Mathlib.CategoryTheory.Limits.IsLimit
 import Mathlib.CategoryTheory.Category.ULift
 import Mathlib.CategoryTheory.EssentiallySmall
+import Mathlib.Logic.Equiv.Basic
 
 #align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"2738d2ca56cbc63be80c3bd48e9ed90ad94e947d"
 
feat: switch to weaker UnivLE (#8556)

Switch from the strong version of UnivLE ∀ α : Type max u v, Small.{v} α to the weaker version ∀ α : Type u, Small.{v} α.

Transfer Has/Preserves/Reflects(Co)limitsOfSize from a larger size (higher universe) to a smaller size.

In a few places it's now necessary to make the type explicit (for Lean to infer the Small instance, I think).

Also prove a characterization of UnivLE and the totality of the UnivLE relation.

A pared down version of #7695.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Junyan Xu <junyanxu.math@gmail.com>

Diff
@@ -5,6 +5,7 @@ Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
 -/
 import Mathlib.CategoryTheory.Limits.IsLimit
 import Mathlib.CategoryTheory.Category.ULift
+import Mathlib.CategoryTheory.EssentiallySmall
 
 #align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"2738d2ca56cbc63be80c3bd48e9ed90ad94e947d"
 
@@ -617,12 +618,17 @@ theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e
 
 variable (C)
 
+/-- A category that has larger limits also has smaller limits. -/
+theorem hasLimitsOfSizeOfUnivLE [UnivLE.{v₂, v₁}] [UnivLE.{u₂, u₁}]
+    [HasLimitsOfSize.{v₁, u₁} C] : HasLimitsOfSize.{v₂, u₂} C where
+  has_limits_of_shape J {_} := hasLimitsOfShape_of_equivalence
+    ((ShrinkHoms.equivalence J).trans <| Shrink.equivalence _).symm
+
 /-- `hasLimitsOfSizeShrink.{v u} C` tries to obtain `HasLimitsOfSize.{v u} C`
 from some other `HasLimitsOfSize C`.
 -/
 theorem hasLimitsOfSizeShrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
-    HasLimitsOfSize.{v₁, u₁} C :=
-  ⟨fun J _ => hasLimitsOfShape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
+    HasLimitsOfSize.{v₁, u₁} C := hasLimitsOfSizeOfUnivLE.{max v₁ v₂, max u₁ u₂} C
 #align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSizeShrink
 
 instance (priority := 100) hasSmallestLimitsOfHasLimits [HasLimits C] : HasLimitsOfSize.{0, 0} C :=
@@ -1197,17 +1203,22 @@ theorem hasColimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J']
 
 variable (C)
 
+/-- A category that has larger colimits also has smaller colimits. -/
+theorem hasColimitsOfSizeOfUnivLE [UnivLE.{v₂, v₁}] [UnivLE.{u₂, u₁}]
+    [HasColimitsOfSize.{v₁, u₁} C] : HasColimitsOfSize.{v₂, u₂} C where
+  has_colimits_of_shape J {_} := hasColimitsOfShape_of_equivalence
+    ((ShrinkHoms.equivalence J).trans <| Shrink.equivalence _).symm
+
 /-- `hasColimitsOfSizeShrink.{v u} C` tries to obtain `HasColimitsOfSize.{v u} C`
 from some other `HasColimitsOfSize C`.
 -/
-theorem hasColimitsOfSize_shrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
-    HasColimitsOfSize.{v₁, u₁} C :=
-  ⟨fun J _ => hasColimitsOfShape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
-#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSize_shrink
+theorem hasColimitsOfSizeShrink [HasColimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
+    HasColimitsOfSize.{v₁, u₁} C := hasColimitsOfSizeOfUnivLE.{max v₁ v₂, max u₁ u₂} C
+#align category_theory.limits.has_colimits_of_size_shrink CategoryTheory.Limits.hasColimitsOfSizeShrink
 
 instance (priority := 100) hasSmallestColimitsOfHasColimits [HasColimits C] :
     HasColimitsOfSize.{0, 0} C :=
-  hasColimitsOfSize_shrink.{0, 0} C
+  hasColimitsOfSizeShrink.{0, 0} C
 #align category_theory.limits.has_smallest_colimits_of_has_colimits CategoryTheory.Limits.hasSmallestColimitsOfHasColimits
 
 end Colimit
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -582,6 +582,13 @@ def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim where
       right_inv := by aesop_cat }
   unit := { app := fun c => limit.lift _ ⟨_, 𝟙 _⟩ }
   counit := { app := fun g => { app := limit.π _ } }
+  -- This used to be automatic before leanprover/lean4#2644
+  homEquiv_unit := by
+    -- Sad that aesop can no longer do this!
+    intros
+    dsimp
+    ext
+    simp
 #align category_theory.limits.const_lim_adj CategoryTheory.Limits.constLimAdj
 
 instance : IsRightAdjoint (lim : (J ⥤ C) ⥤ C) :=
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -582,13 +582,6 @@ def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim where
       right_inv := by aesop_cat }
   unit := { app := fun c => limit.lift _ ⟨_, 𝟙 _⟩ }
   counit := { app := fun g => { app := limit.π _ } }
-  -- This used to be automatic before leanprover/lean4#2644
-  homEquiv_unit := by
-    -- Sad that aesop can no longer do this!
-    intros
-    dsimp
-    ext
-    simp
 #align category_theory.limits.const_lim_adj CategoryTheory.Limits.constLimAdj
 
 instance : IsRightAdjoint (lim : (J ⥤ C) ⥤ C) :=
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -582,6 +582,13 @@ def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim where
       right_inv := by aesop_cat }
   unit := { app := fun c => limit.lift _ ⟨_, 𝟙 _⟩ }
   counit := { app := fun g => { app := limit.π _ } }
+  -- This used to be automatic before leanprover/lean4#2644
+  homEquiv_unit := by
+    -- Sad that aesop can no longer do this!
+    intros
+    dsimp
+    ext
+    simp
 #align category_theory.limits.const_lim_adj CategoryTheory.Limits.constLimAdj
 
 instance : IsRightAdjoint (lim : (J ⥤ C) ⥤ C) :=
chore: replace ConeMorphism.Hom by ConeMorphism.hom (#7176)
Diff
@@ -217,12 +217,12 @@ def limit.coneMorphism {F : J ⥤ C} [HasLimit F] (c : Cone F) : c ⟶ limit.con
 
 @[simp]
 theorem limit.coneMorphism_hom {F : J ⥤ C} [HasLimit F] (c : Cone F) :
-    (limit.coneMorphism c).Hom = limit.lift F c :=
+    (limit.coneMorphism c).hom = limit.lift F c :=
   rfl
 #align category_theory.limits.limit.cone_morphism_hom CategoryTheory.Limits.limit.coneMorphism_hom
 
 theorem limit.coneMorphism_π {F : J ⥤ C} [HasLimit F] (c : Cone F) (j : J) :
-    (limit.coneMorphism c).Hom ≫ limit.π F j = c.π.app j := by simp
+    (limit.coneMorphism c).hom ≫ limit.π F j = c.π.app j := by simp
 #align category_theory.limits.limit.cone_morphism_π CategoryTheory.Limits.limit.coneMorphism_π
 
 @[reassoc (attr := simp)]
@@ -783,12 +783,12 @@ def colimit.coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) : colimit
 
 @[simp]
 theorem colimit.coconeMorphism_hom {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
-    (colimit.coconeMorphism c).Hom = colimit.desc F c :=
+    (colimit.coconeMorphism c).hom = colimit.desc F c :=
   rfl
 #align category_theory.limits.colimit.cocone_morphism_hom CategoryTheory.Limits.colimit.coconeMorphism_hom
 
 theorem colimit.ι_coconeMorphism {F : J ⥤ C} [HasColimit F] (c : Cocone F) (j : J) :
-    colimit.ι F j ≫ (colimit.coconeMorphism c).Hom = c.ι.app j := by simp
+    colimit.ι F j ≫ (colimit.coconeMorphism c).hom = c.ι.app j := by simp
 #align category_theory.limits.colimit.ι_cocone_morphism CategoryTheory.Limits.colimit.ι_coconeMorphism
 
 @[reassoc (attr := simp)]
chore: fix grammar mistakes (#6121)
Diff
@@ -1269,14 +1269,14 @@ def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop where
       rfl
 #align category_theory.limits.is_colimit.unop CategoryTheory.Limits.IsColimit.unop
 
-/-- `t : Cone F` is a limit cone if and only is `t.op : Cocone F.op` is a colimit cocone.
+/-- `t : Cone F` is a limit cone if and only if `t.op : Cocone F.op` is a colimit cocone.
 -/
 def isLimitEquivIsColimitOp {t : Cone F} : IsLimit t ≃ IsColimit t.op :=
   equivOfSubsingletonOfSubsingleton IsLimit.op fun P =>
     P.unop.ofIsoLimit (Cones.ext (Iso.refl _))
 #align category_theory.limits.is_limit_equiv_is_colimit_op CategoryTheory.Limits.isLimitEquivIsColimitOp
 
-/-- `t : Cocone F` is a colimit cocone if and only is `t.op : Cone F.op` is a limit cone.
+/-- `t : Cocone F` is a colimit cocone if and only if `t.op : Cone F.op` is a limit cone.
 -/
 def isColimitEquivIsLimitOp {t : Cocone F} : IsColimit t ≃ IsLimit t.op :=
   equivOfSubsingletonOfSubsingleton IsColimit.op fun P =>
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) 2018 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Reid Barton, Mario Carneiro, Scott Morrison, Floris van Doorn
-
-! This file was ported from Lean 3 source module category_theory.limits.has_limits
-! leanprover-community/mathlib commit 2738d2ca56cbc63be80c3bd48e9ed90ad94e947d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.IsLimit
 import Mathlib.CategoryTheory.Category.ULift
 
+#align_import category_theory.limits.has_limits from "leanprover-community/mathlib"@"2738d2ca56cbc63be80c3bd48e9ed90ad94e947d"
+
 /-!
 # Existence of limits and colimits
 
chore: cleanup whitespace (#5988)

Grepping for [^ .:{-] [^ :] and reviewing the results. Once I started I couldn't stop. :-)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -104,7 +104,7 @@ variable (J C)
 
 /-- `C` has limits of shape `J` if there exists a limit for every functor `F : J ⥤ C`. -/
 class HasLimitsOfShape : Prop where
-  /-- All functors `F : J ⥤  C` from `J` have limits -/
+  /-- All functors `F : J ⥤ C` from `J` have limits -/
   has_limit : ∀ F : J ⥤ C, HasLimit F := by infer_instance
 #align category_theory.limits.has_limits_of_shape CategoryTheory.Limits.HasLimitsOfShape
 
@@ -429,9 +429,9 @@ variable {L : Type u₃} [Category.{v₃} L]
 variable (D : L ⥤ K) [HasLimit (D ⋙ E ⋙ F)]
 
 @[simp]
-theorem limit.pre_pre [h : HasLimit (D ⋙  E ⋙  F)] : haveI : HasLimit ((D ⋙  E) ⋙  F) := h;
+theorem limit.pre_pre [h : HasLimit (D ⋙ E ⋙ F)] : haveI : HasLimit ((D ⋙ E) ⋙ F) := h;
     limit.pre F E ≫ limit.pre (E ⋙ F) D = limit.pre F (D ⋙ E) := by
-  haveI : HasLimit ((D ⋙  E) ⋙  F) := h
+  haveI : HasLimit ((D ⋙ E) ⋙ F) := h
   ext j; erw [assoc, limit.pre_π, limit.pre_π, limit.pre_π]; rfl
 #align category_theory.limits.limit.pre_pre CategoryTheory.Limits.limit.pre_pre
 
@@ -479,9 +479,9 @@ theorem limit.lift_post (c : Cone F) :
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E) [h : HasLimit ((F ⋙ G) ⋙ H)] :
     -- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals
     -- H G (limit F) ⟶ limit (F ⋙ (G ⋙ H))
-    haveI : HasLimit (F ⋙  G ⋙  H) := h
+    haveI : HasLimit (F ⋙ G ⋙ H) := h
     H.map (limit.post F G) ≫ limit.post (F ⋙ G) H = limit.post F (G ⋙ H) := by
-  haveI : HasLimit (F ⋙  G ⋙  H) := h
+  haveI : HasLimit (F ⋙ G ⋙ H) := h
   ext; erw [assoc, limit.post_π, ← H.map_comp, limit.post_π, limit.post_π]; rfl
 #align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_post
 
@@ -491,9 +491,9 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
     [h : HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs
             -- G (limit F) ⟶ limit F ⋙ G ⟶ limit (E ⋙ (F ⋙ G)) or
-    haveI : HasLimit (E ⋙  F ⋙  G) := h
+    haveI : HasLimit (E ⋙ F ⋙ G) := h
     G.map (limit.pre F E) ≫ limit.post (E ⋙ F) G = limit.post F G ≫ limit.pre (F ⋙ G) E := by
-  haveI : HasLimit (E ⋙  F ⋙  G) := h
+  haveI : HasLimit (E ⋙ F ⋙ G) := h
   ext; erw [assoc, limit.post_π, ← G.map_comp, limit.pre_π, assoc, limit.pre_π, limit.post_π]
 #align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_post
 
@@ -989,8 +989,8 @@ variable {L : Type u₃} [Category.{v₃} L]
 variable (D : L ⥤ K) [HasColimit (D ⋙ E ⋙ F)]
 
 @[simp]
-theorem colimit.pre_pre [h : HasColimit (D ⋙  E ⋙  F)] :
-    haveI : HasColimit ((D ⋙  E) ⋙  F) := h
+theorem colimit.pre_pre [h : HasColimit (D ⋙ E ⋙ F)] :
+    haveI : HasColimit ((D ⋙ E) ⋙ F) := h
     colimit.pre (E ⋙ F) D ≫ colimit.pre F E = colimit.pre F (D ⋙ E) := by
   ext j
   rw [← assoc, colimit.ι_pre, colimit.ι_pre]
@@ -1045,11 +1045,11 @@ theorem colimit.post_desc (c : Cocone F) :
 theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
     -- H G (colimit F) ⟶ H (colimit (F ⋙ G)) ⟶ colimit ((F ⋙ G) ⋙ H) equals
     -- H G (colimit F) ⟶ colimit (F ⋙ (G ⋙ H))
-    [h : HasColimit ((F ⋙ G) ⋙ H)] : haveI : HasColimit (F ⋙  G ⋙  H) := h
+    [h : HasColimit ((F ⋙ G) ⋙ H)] : haveI : HasColimit (F ⋙ G ⋙ H) := h
     colimit.post (F ⋙ G) H ≫ H.map (colimit.post F G) = colimit.post F (G ⋙ H) := by
   ext j
   rw [← assoc, colimit.ι_post, ← H.map_comp, colimit.ι_post]
-  haveI : HasColimit (F ⋙  G ⋙  H) := h
+  haveI : HasColimit (F ⋙ G ⋙ H) := h
   exact (colimit.ι_post F (G ⋙ H) j).symm
 #align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_post
 
@@ -1059,7 +1059,7 @@ theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J 
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)] [h : HasColimit ((E ⋙ F) ⋙ G)] :
     -- G (colimit F) ⟶ G (colimit (E ⋙ F)) ⟶ colimit ((E ⋙ F) ⋙ G) vs
     -- G (colimit F) ⟶ colimit F ⋙ G ⟶ colimit (E ⋙ (F ⋙ G)) or
-    haveI : HasColimit (E ⋙  F ⋙  G) := h
+    haveI : HasColimit (E ⋙ F ⋙ G) := h
     colimit.post (E ⋙ F) G ≫ G.map (colimit.pre F E) =
       colimit.pre (F ⋙ G) E ≫ colimit.post F G := by
   ext j
refactor: make pp_with_univ be an attribute (#5633)
Diff
@@ -111,14 +111,13 @@ class HasLimitsOfShape : Prop where
 /-- `C` has all limits of size `v₁ u₁` (`HasLimitsOfSize.{v₁ u₁} C`)
 if it has limits of every shape `J : Type u₁` with `[Category.{v₁} J]`.
 -/
+@[pp_with_univ]
 class HasLimitsOfSize (C : Type u) [Category.{v} C] : Prop where
   /-- All functors `F : J ⥤ C` from all small `J` have limits -/
   has_limits_of_shape : ∀ (J : Type u₁) [Category.{v₁} J], HasLimitsOfShape J C := by
     infer_instance
 #align category_theory.limits.has_limits_of_size CategoryTheory.Limits.HasLimitsOfSize
 
-pp_with_univ HasLimitsOfSize
-
 /-- `C` has all (small) limits if it has limits of every shape that is as big as its hom-sets. -/
 abbrev HasLimits (C : Type u) [Category.{v} C] : Prop :=
   HasLimitsOfSize.{v, v} C
@@ -667,14 +666,13 @@ class HasColimitsOfShape : Prop where
 /-- `C` has all colimits of size `v₁ u₁` (`HasColimitsOfSize.{v₁ u₁} C`)
 if it has colimits of every shape `J : Type u₁` with `[Category.{v₁} J]`.
 -/
+@[pp_with_univ]
 class HasColimitsOfSize (C : Type u) [Category.{v} C] : Prop where
   /-- All `F : J ⥤ C` have colimits for all small `J` -/
   has_colimits_of_shape : ∀ (J : Type u₁) [Category.{v₁} J], HasColimitsOfShape J C := by
     infer_instance
 #align category_theory.limits.has_colimits_of_size CategoryTheory.Limits.HasColimitsOfSize
 
-pp_with_univ HasColimitsOfSize
-
 /-- `C` has all (small) colimits if it has colimits of every shape that is as big as its hom-sets.
 -/
 abbrev HasColimits (C : Type u) [Category.{v} C] : Prop :=
chore: remove occurrences of semicolon after space (#5713)

This is the second half of the changes originally in #5699, removing all occurrences of ; after a space and implementing a linter rule to enforce it.

In most cases this 2-character substring has a space after it, so the following command was run first:

find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;

The remaining cases were few enough in number that they were done manually.

Diff
@@ -495,7 +495,7 @@ theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤
     haveI : HasLimit (E ⋙  F ⋙  G) := h
     G.map (limit.pre F E) ≫ limit.post (E ⋙ F) G = limit.post F G ≫ limit.pre (F ⋙ G) E := by
   haveI : HasLimit (E ⋙  F ⋙  G) := h
-  ext ; erw [assoc, limit.post_π, ← G.map_comp, limit.pre_π, assoc, limit.pre_π, limit.post_π]
+  ext; erw [assoc, limit.post_π, ← G.map_comp, limit.pre_π, assoc, limit.pre_π, limit.post_π]
 #align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_post
 
 open CategoryTheory.Equivalence
feat: use pp_with_univ (#5622)

Certain definitions do nothing except change universes. We might as well have the pretty printer always show us these universes!

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -117,6 +117,8 @@ class HasLimitsOfSize (C : Type u) [Category.{v} C] : Prop where
     infer_instance
 #align category_theory.limits.has_limits_of_size CategoryTheory.Limits.HasLimitsOfSize
 
+pp_with_univ HasLimitsOfSize
+
 /-- `C` has all (small) limits if it has limits of every shape that is as big as its hom-sets. -/
 abbrev HasLimits (C : Type u) [Category.{v} C] : Prop :=
   HasLimitsOfSize.{v, v} C
@@ -671,6 +673,8 @@ class HasColimitsOfSize (C : Type u) [Category.{v} C] : Prop where
     infer_instance
 #align category_theory.limits.has_colimits_of_size CategoryTheory.Limits.HasColimitsOfSize
 
+pp_with_univ HasColimitsOfSize
+
 /-- `C` has all (small) colimits if it has colimits of every shape that is as big as its hom-sets.
 -/
 abbrev HasColimits (C : Type u) [Category.{v} C] : Prop :=
feat: more consistent use of ext, and updating porting notes. (#5242)

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

Diff
@@ -1108,7 +1108,7 @@ theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫
 @[simp] -- Porting note: proof adjusted to account for @[simps] on all fields of colim
 theorem colimit.map_desc (c : Cocone G) :
     colimMap α ≫ colimit.desc G c = colimit.desc F ((Cocones.precompose α).obj c) := by
-  apply Limits.colimit.hom_ext; intro j
+  ext j
   simp [← assoc, colimit.ι_map, assoc, colimit.ι_desc, colimit.ι_desc]
 #align category_theory.limits.colimit.map_desc CategoryTheory.Limits.colimit.map_desc
 
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
@@ -571,8 +571,7 @@ is natural in `F`.
 -/
 def limYoneda :
     lim ⋙ yoneda ⋙ (whiskeringRight _ _ _).obj uliftFunctor.{u₁} ≅ CategoryTheory.cones J C :=
-  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => limit.homIso F (unop W))
-    <| by intros ; funext ; aesop_cat) <| by intros ; ext ; funext ; aesop_cat
+  NatIso.ofComponents fun F => NatIso.ofComponents fun W => limit.homIso F (unop W)
 #align category_theory.limits.lim_yoneda CategoryTheory.Limits.limYoneda
 
 /-- The constant functor and limit functor are adjoint to each other-/
@@ -580,20 +579,11 @@ def constLimAdj : (const J : C ⥤ J ⥤ C) ⊣ lim where
   homEquiv c g :=
     { toFun := fun f => limit.lift _ ⟨c, f⟩
       invFun := fun f =>
-        { app := fun j => f ≫ limit.π _ _
-          naturality := by aesop_cat }
-      left_inv := fun _ => NatTrans.ext _ _ <| funext fun j => limit.lift_π _ _
-      right_inv := fun α => limit.hom_ext fun j => limit.lift_π _ _ }
-  unit :=
-    { app := fun c => limit.lift _ ⟨_, 𝟙 _⟩
-      naturality := fun _ _ _ => by aesop_cat }
-  counit :=
-    { app := fun g =>
-        { app := limit.π _
-          naturality := by aesop_cat }
-      naturality := fun _ _ _ => by aesop_cat }
-  homEquiv_unit := fun {c} {f} {g} => limit.hom_ext <| fun j => by simp
-  homEquiv_counit {c} {g} {f} := NatTrans.ext _ _ <| funext fun j => rfl
+        { app := fun j => f ≫ limit.π _ _ }
+      left_inv := by aesop_cat
+      right_inv := by aesop_cat }
+  unit := { app := fun c => limit.lift _ ⟨_, 𝟙 _⟩ }
+  counit := { app := fun g => { app := limit.π _ } }
 #align category_theory.limits.const_lim_adj CategoryTheory.Limits.constLimAdj
 
 instance : IsRightAdjoint (lim : (J ⥤ C) ⥤ C) :=
@@ -1104,8 +1094,6 @@ section
 def colim : (J ⥤ C) ⥤ C where
   obj F := colimit F
   map α := colimMap α
-  map_id F := by aesop_cat
-  map_comp α β := by aesop_cat
 #align category_theory.limits.colim CategoryTheory.Limits.colim
 
 end
@@ -1160,8 +1148,7 @@ is natural in `F`.
 -/
 def colimCoyoneda : colim.op ⋙ coyoneda ⋙ (whiskeringRight _ _ _).obj uliftFunctor.{u₁}
     ≅ CategoryTheory.cocones J C :=
-  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => colimit.homIso (unop F) W)
-    <| by intros ; funext ; aesop_cat) <| by intros ; ext ; funext ; aesop_cat
+  NatIso.ofComponents fun F => NatIso.ofComponents fun W => colimit.homIso (unop F) W
 #align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyoneda
 
 /-- The colimit functor and constant functor are adjoint to each other
@@ -1169,21 +1156,12 @@ def colimCoyoneda : colim.op ⋙ coyoneda ⋙ (whiskeringRight _ _ _).obj uliftF
 def colimConstAdj : (colim : (J ⥤ C) ⥤ C) ⊣ const J where
   homEquiv f c :=
     { toFun := fun g =>
-        { app := fun _ => colimit.ι _ _ ≫ g
-          naturality := by aesop_cat }
+        { app := fun _ => colimit.ι _ _ ≫ g }
       invFun := fun g => colimit.desc _ ⟨_, g⟩
-      left_inv := fun _ => colimit.hom_ext fun j => colimit.ι_desc _ _
-      right_inv := fun _ => NatTrans.ext _ _ <| funext fun j => colimit.ι_desc _ _ }
-  unit :=
-    { app := fun g =>
-        { app := colimit.ι _
-          naturality := by aesop_cat }
-      naturality := by aesop_cat }
-  counit :=
-    { app := fun c => colimit.desc _ ⟨_, 𝟙 _⟩
-      naturality := by aesop_cat }
-  homEquiv_unit := fun {c} {f} {g} => NatTrans.ext _ _ <| funext fun _ => rfl
-  homEquiv_counit {c} {f} {g} := colimit.hom_ext <| fun _ => by simp
+      left_inv := by aesop_cat
+      right_inv := by aesop_cat }
+  unit := { app := fun g => { app := colimit.ι _ } }
+  counit := { app := fun c => colimit.desc _ ⟨_, 𝟙 _⟩ }
 #align category_theory.limits.colim_const_adj CategoryTheory.Limits.colimConstAdj
 
 instance : IsLeftAdjoint (colim : (J ⥤ C) ⥤ C) :=
@@ -1296,14 +1274,14 @@ def IsColimit.unop {t : Cocone F.op} (P : IsColimit t) : IsLimit t.unop where
 -/
 def isLimitEquivIsColimitOp {t : Cone F} : IsLimit t ≃ IsColimit t.op :=
   equivOfSubsingletonOfSubsingleton IsLimit.op fun P =>
-    P.unop.ofIsoLimit (Cones.ext (Iso.refl _) (by aesop_cat))
+    P.unop.ofIsoLimit (Cones.ext (Iso.refl _))
 #align category_theory.limits.is_limit_equiv_is_colimit_op CategoryTheory.Limits.isLimitEquivIsColimitOp
 
 /-- `t : Cocone F` is a colimit cocone if and only is `t.op : Cone F.op` is a limit cone.
 -/
 def isColimitEquivIsLimitOp {t : Cocone F} : IsColimit t ≃ IsLimit t.op :=
   equivOfSubsingletonOfSubsingleton IsColimit.op fun P =>
-    P.unop.ofIsoColimit (Cocones.ext (Iso.refl _) (by aesop_cat))
+    P.unop.ofIsoColimit (Cocones.ext (Iso.refl _))
 #align category_theory.limits.is_colimit_equiv_is_limit_op CategoryTheory.Limits.isColimitEquivIsLimitOp
 
 end Opposite
chore: fix typos (#4518)

I ran codespell Mathlib and got tired halfway through the suggestions.

Diff
@@ -174,7 +174,7 @@ theorem limit.w (F : J ⥤ C) [HasLimit F] {j j' : J} (f : j ⟶ j') :
   (limit.cone F).w f
 #align category_theory.limits.limit.w CategoryTheory.Limits.limit.w
 
-/-- Evidence that the arbitrary choice of cone provied by `limit.cone F` is a limit cone. -/
+/-- Evidence that the arbitrary choice of cone provided by `limit.cone F` is a limit cone. -/
 def limit.isLimit (F : J ⥤ C) [HasLimit F] : IsLimit (limit.cone F) :=
   (getLimitCone F).isLimit
 #align category_theory.limits.limit.is_limit CategoryTheory.Limits.limit.isLimit
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -319,8 +319,7 @@ theorem hasLimitOfIso {F G : J ⥤ C} [HasLimit F] (α : F ≅ G) : HasLimit G :
     { cone := (Cones.postcompose α.hom).obj (limit.cone F)
       isLimit :=
         { lift := fun s => limit.lift F ((Cones.postcompose α.inv).obj s)
-          fac := fun s j =>
-            by
+          fac := fun s j => by
             rw [Cones.postcompose_obj_π, NatTrans.comp_app, limit.cone_π, ← Category.assoc,
               limit.lift_π]
             simp
@@ -396,8 +395,8 @@ theorem HasLimit.isoOfEquivalence_hom_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C
 @[simp]
 theorem HasLimit.isoOfEquivalence_inv_π {F : J ⥤ C} [HasLimit F] {G : K ⥤ C} [HasLimit G]
     (e : J ≌ K) (w : e.functor ⋙ G ≅ F) (j : J) :
-    (HasLimit.isoOfEquivalence e w).inv ≫ limit.π F j = limit.π G (e.functor.obj j) ≫ w.hom.app j :=
-  by
+    (HasLimit.isoOfEquivalence e w).inv ≫ limit.π F j =
+    limit.π G (e.functor.obj j) ≫ w.hom.app j := by
   simp only [HasLimit.isoOfEquivalence, IsLimit.conePointsIsoOfEquivalence_hom]
   dsimp
   simp
@@ -894,8 +893,7 @@ theorem hasColimitOfIso {F G : J ⥤ C} [HasColimit F] (α : G ≅ F) : HasColim
     { cocone := (Cocones.precompose α.hom).obj (colimit.cocone F)
       isColimit :=
         { desc := fun s => colimit.desc F ((Cocones.precompose α.inv).obj s)
-          fac := fun s j =>
-            by
+          fac := fun s j => by
             rw [Cocones.precompose_obj_ι, NatTrans.comp_app, colimit.cocone_ι]
             rw [Category.assoc, colimit.ι_desc, ← NatIso.app_hom, ← Iso.eq_inv_comp]; rfl
           uniq := fun s m w => by
@@ -1037,8 +1035,8 @@ def colimit.post : colimit (F ⋙ G) ⟶ G.obj (colimit F) :=
 #align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.post
 
 @[reassoc (attr := simp)]
-theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) :=
-  by
+theorem colimit.ι_post (j : J) :
+    colimit.ι (F ⋙ G) j ≫ colimit.post F G = G.map (colimit.ι F j) := by
   erw [IsColimit.fac]
   rfl
 #align category_theory.limits.colimit.ι_post CategoryTheory.Limits.colimit.ι_post
feat : port CategoryTheory.Limits.FilteredColimitCommutesFiniteLimit (#3605)

This was harder than it looked (the proofs are long and broke).

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net>

Diff
@@ -536,17 +536,12 @@ def lim : (J ⥤ C) ⥤ C where
     apply Limits.limit.hom_ext; intro j
     erw [assoc, IsLimit.fac, IsLimit.fac, ← assoc, IsLimit.fac, assoc]; rfl
 #align category_theory.limits.lim CategoryTheory.Limits.lim
+#align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.lim_map
 
 end
 
 variable {G : J ⥤ C} (α : F ⟶ G)
 
--- We generate this manually since `simps` gives it a weird name.
--- @[simp]
--- theorem limMap_eq_limMap : lim.map α = limMap α :=
---   rfl
--- #align category_theory.limits.lim_map_eq_lim_map CategoryTheory.Limits.limMap_eq_limMap
-
 theorem limit.map_pre [HasLimitsOfShape K C] (E : K ⥤ J) :
     lim.map α ≫ limit.pre G E = limit.pre F E ≫ lim.map (whiskerLeft E α) := by
   ext
chore: made Opposite a structure (#3193)

The opposite category is no longer a type synonym, but a structure.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Scott Morrison <scott@tqft.net>

Diff
@@ -1167,7 +1167,7 @@ is natural in `F`.
 -/
 def colimCoyoneda : colim.op ⋙ coyoneda ⋙ (whiskeringRight _ _ _).obj uliftFunctor.{u₁}
     ≅ CategoryTheory.cocones J C :=
-  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => colimit.homIso (unop F) (op W))
+  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => colimit.homIso (unop F) W)
     <| by intros ; funext ; aesop_cat) <| by intros ; ext ; funext ; aesop_cat
 #align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyoneda
 
chore: fix some names in comments (#3276)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -765,7 +765,7 @@ theorem colimit.isColimit_desc {F : J ⥤ C} [HasColimit F] (c : Cocone F) :
 /-- We have lots of lemmas describing how to simplify `colimit.ι F j ≫ _`,
 and combined with `colimit.ext` we rely on these lemmas for many calculations.
 
-However, since `category.assoc` is a `@[simp]` lemma, often expressions are
+However, since `Category.assoc` is a `@[simp]` lemma, often expressions are
 right associated, and it's hard to apply these lemmas about `colimit.ι`.
 
 We thus use `reassoc` to define additional `@[simp]` lemmas, with an arbitrary extra morphism.
feat: port CategoryTheory.Limits.Opposites (#2805)

Co-authored-by: Johan Commelin <johan@commelin.net>

Diff
@@ -477,11 +477,11 @@ theorem limit.lift_post (c : Cone F) :
 
 @[simp]
 theorem limit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E) [h : HasLimit ((F ⋙ G) ⋙ H)] :
-    -- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals 
+    -- H G (limit F) ⟶ H (limit (F ⋙ G)) ⟶ limit ((F ⋙ G) ⋙ H) equals
     -- H G (limit F) ⟶ limit (F ⋙ (G ⋙ H))
-    haveI : HasLimit (F ⋙  G ⋙  H) := h 
-    H.map (limit.post F G) ≫ limit.post (F ⋙ G) H = limit.post F (G ⋙ H) := by 
-  haveI : HasLimit (F ⋙  G ⋙  H) := h 
+    haveI : HasLimit (F ⋙  G ⋙  H) := h
+    H.map (limit.post F G) ≫ limit.post (F ⋙ G) H = limit.post F (G ⋙ H) := by
+  haveI : HasLimit (F ⋙  G ⋙  H) := h
   ext; erw [assoc, limit.post_π, ← H.map_comp, limit.post_π, limit.post_π]; rfl
 #align category_theory.limits.limit.post_post CategoryTheory.Limits.limit.post_post
 
@@ -489,11 +489,11 @@ end Post
 
 theorem limit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasLimit F] [HasLimit (E ⋙ F)] [HasLimit (F ⋙ G)]
-    [h : HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs 
+    [h : HasLimit ((E ⋙ F) ⋙ G)] :-- G (limit F) ⟶ G (limit (E ⋙ F)) ⟶ limit ((E ⋙ F) ⋙ G) vs
             -- G (limit F) ⟶ limit F ⋙ G ⟶ limit (E ⋙ (F ⋙ G)) or
-    haveI : HasLimit (E ⋙  F ⋙  G) := h 
+    haveI : HasLimit (E ⋙  F ⋙  G) := h
     G.map (limit.pre F E) ≫ limit.post (E ⋙ F) G = limit.post F G ≫ limit.pre (F ⋙ G) E := by
-  haveI : HasLimit (E ⋙  F ⋙  G) := h 
+  haveI : HasLimit (E ⋙  F ⋙  G) := h
   ext ; erw [assoc, limit.post_π, ← G.map_comp, limit.pre_π, assoc, limit.pre_π, limit.post_π]
 #align category_theory.limits.limit.pre_post CategoryTheory.Limits.limit.pre_post
 
@@ -505,7 +505,7 @@ instance hasLimitEquivalenceComp (e : K ≌ J) [HasLimit F] : HasLimit (e.functo
       isLimit := IsLimit.whiskerEquivalence (limit.isLimit F) e }
 #align category_theory.limits.has_limit_equivalence_comp CategoryTheory.Limits.hasLimitEquivalenceComp
 
--- Porting note: testing whether this still needed 
+-- Porting note: testing whether this still needed
 -- attribute [local elab_without_expected_type] inv_fun_id_assoc
 
 -- not entirely sure why this is needed
@@ -558,7 +558,7 @@ theorem limit.map_pre' [HasLimitsOfShape K C] (F : J ⥤ C) {E₁ E₂ : K ⥤ J
   ext1; simp [← category.assoc]
 #align category_theory.limits.limit.map_pre' CategoryTheory.Limits.limit.map_pre'
 
-theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.leftUnitor F).inv := by 
+theorem limit.id_pre (F : J ⥤ C) : limit.pre F (𝟭 _) = lim.map (Functor.leftUnitor F).inv := by
   aesop_cat
 #align category_theory.limits.limit.id_pre CategoryTheory.Limits.limit.id_pre
 
@@ -619,12 +619,12 @@ instance limMap_mono {F G : J ⥤ C} [HasLimit F] [HasLimit G] (α : F ⟶ G) [
 
 /-- We can transport limits of shape `J` along an equivalence `J ≌ J'`.
 -/
-theorem hasLimitsOfShapeOfEquivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
+theorem hasLimitsOfShape_of_equivalence {J' : Type u₂} [Category.{v₂} J'] (e : J ≌ J')
     [HasLimitsOfShape J C] : HasLimitsOfShape J' C := by
   constructor
   intro F
   apply hasLimitOfEquivalenceComp e
-#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShapeOfEquivalence
+#align category_theory.limits.has_limits_of_shape_of_equivalence CategoryTheory.Limits.hasLimitsOfShape_of_equivalence
 
 variable (C)
 
@@ -633,7 +633,7 @@ from some other `HasLimitsOfSize C`.
 -/
 theorem hasLimitsOfSizeShrink [HasLimitsOfSize.{max v₁ v₂, max u₁ u₂} C] :
     HasLimitsOfSize.{v₁, u₁} C :=
-  ⟨fun J _ => hasLimitsOfShapeOfEquivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
+  ⟨fun J _ => hasLimitsOfShape_of_equivalence (ULiftHomULiftCategory.equiv.{v₂, u₂} J).symm⟩
 #align category_theory.limits.has_limits_of_size_shrink CategoryTheory.Limits.hasLimitsOfSizeShrink
 
 instance (priority := 100) hasSmallestLimitsOfHasLimits [HasLimits C] : HasLimitsOfSize.{0, 0} C :=
@@ -1057,14 +1057,14 @@ theorem colimit.post_desc (c : Cocone F) :
 #align category_theory.limits.colimit.post_desc CategoryTheory.Limits.colimit.post_desc
 
 @[simp]
-theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E) 
-    -- H G (colimit F) ⟶ H (colimit (F ⋙ G)) ⟶ colimit ((F ⋙ G) ⋙ H) equals 
+theorem colimit.post_post {E : Type u''} [Category.{v''} E] (H : D ⥤ E)
+    -- H G (colimit F) ⟶ H (colimit (F ⋙ G)) ⟶ colimit ((F ⋙ G) ⋙ H) equals
     -- H G (colimit F) ⟶ colimit (F ⋙ (G ⋙ H))
-    [h : HasColimit ((F ⋙ G) ⋙ H)] : haveI : HasColimit (F ⋙  G ⋙  H) := h 
+    [h : HasColimit ((F ⋙ G) ⋙ H)] : haveI : HasColimit (F ⋙  G ⋙  H) := h
     colimit.post (F ⋙ G) H ≫ H.map (colimit.post F G) = colimit.post F (G ⋙ H) := by
   ext j
   rw [← assoc, colimit.ι_post, ← H.map_comp, colimit.ι_post]
-  haveI : HasColimit (F ⋙  G ⋙  H) := h 
+  haveI : HasColimit (F ⋙  G ⋙  H) := h
   exact (colimit.ι_post F (G ⋙ H) j).symm
 #align category_theory.limits.colimit.post_post CategoryTheory.Limits.colimit.post_post
 
@@ -1072,10 +1072,10 @@ end Post
 
 theorem colimit.pre_post {D : Type u'} [Category.{v'} D] (E : K ⥤ J) (F : J ⥤ C) (G : C ⥤ D)
     [HasColimit F] [HasColimit (E ⋙ F)] [HasColimit (F ⋙ G)] [h : HasColimit ((E ⋙ F) ⋙ G)] :
-    -- G (colimit F) ⟶ G (colimit (E ⋙ F)) ⟶ colimit ((E ⋙ F) ⋙ G) vs 
+    -- G (colimit F) ⟶ G (colimit (E ⋙ F)) ⟶ colimit ((E ⋙ F) ⋙ G) vs
     -- G (colimit F) ⟶ colimit F ⋙ G ⟶ colimit (E ⋙ (F ⋙ G)) or
-    haveI : HasColimit (E ⋙  F ⋙  G) := h 
-    colimit.post (E ⋙ F) G ≫ G.map (colimit.pre F E) = 
+    haveI : HasColimit (E ⋙  F ⋙  G) := h
+    colimit.post (E ⋙ F) G ≫ G.map (colimit.pre F E) =
       colimit.pre (F ⋙ G) E ≫ colimit.post F G := by
   ext j
   rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_pre, ← assoc]
@@ -1124,7 +1124,7 @@ variable {G : J ⥤ C} (α : F ⟶ G)
 theorem colimit.ι_map (j : J) : colimit.ι F j ≫ colim.map α = α.app j ≫ colimit.ι G j := by simp
 #align category_theory.limits.colimit.ι_map CategoryTheory.Limits.colimit.ι_map
 
-@[simp] -- Porting note: proof adjusted to account for @[simps] on all fields of colim 
+@[simp] -- Porting note: proof adjusted to account for @[simps] on all fields of colim
 theorem colimit.map_desc (c : Cocone G) :
     colimMap α ≫ colimit.desc G c = colimit.desc F ((Cocones.precompose α).obj c) := by
   apply Limits.colimit.hom_ext; intro j
@@ -1165,9 +1165,9 @@ morphisms from the cone point of the colimit cocone for `F` to `W`
 and cocones over `F` with cone point `W`
 is natural in `F`.
 -/
-def colimCoyoneda : colim.op ⋙ coyoneda ⋙ (whiskeringRight _ _ _).obj uliftFunctor.{u₁} 
-    ≅ CategoryTheory.cocones J C := 
-  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => colimit.homIso (unop F) (op W)) 
+def colimCoyoneda : colim.op ⋙ coyoneda ⋙ (whiskeringRight _ _ _).obj uliftFunctor.{u₁}
+    ≅ CategoryTheory.cocones J C :=
+  NatIso.ofComponents (fun F => NatIso.ofComponents (fun W => colimit.homIso (unop F) (op W))
     <| by intros ; funext ; aesop_cat) <| by intros ; ext ; funext ; aesop_cat
 #align category_theory.limits.colim_coyoneda CategoryTheory.Limits.colimCoyoneda
 
@@ -1245,7 +1245,7 @@ def IsLimit.op {t : Cone F} (P : IsLimit t) : IsColimit t.op where
   uniq s m w := by
     dsimp
     rw [← P.uniq s.unop m.unop]
-    · rfl 
+    · rfl
     · dsimp
       intro j
       rw [← w]
chore: tidy various files (#2742)
Diff
@@ -1314,4 +1314,3 @@ def isColimitEquivIsLimitOp {t : Cocone F} : IsColimit t ≃ IsLimit t.op :=
 #align category_theory.limits.is_colimit_equiv_is_limit_op CategoryTheory.Limits.isColimitEquivIsLimitOp
 
 end Opposite
-#lint
fix: use dot notation for mapCone/mapCocone (#2696)

Thanks to #2661 we have G.mapCone back. This swiches over globally.

Diff
@@ -458,7 +458,7 @@ variable (F) [HasLimit F] (G : C ⥤ D) [HasLimit (F ⋙ G)]
 /-- The canonical morphism from `G` applied to the limit of `F` to the limit of `F ⋙ G`.
 -/
 def limit.post : G.obj (limit F) ⟶ limit (F ⋙ G) :=
-  limit.lift (F ⋙ G) (mapCone G (limit.cone F))
+  limit.lift (F ⋙ G) (G.mapCone (limit.cone F))
 #align category_theory.limits.limit.post CategoryTheory.Limits.limit.post
 
 @[reassoc (attr := simp)]
@@ -469,7 +469,7 @@ theorem limit.post_π (j : J) : limit.post F G ≫ limit.π (F ⋙ G) j = G.map
 
 @[simp]
 theorem limit.lift_post (c : Cone F) :
-    G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (mapCone G c) := by
+    G.map (limit.lift F c) ≫ limit.post F G = limit.lift (F ⋙ G) (G.mapCone c) := by
   ext
   rw [assoc, limit.post_π, ← G.map_comp, limit.lift_π, limit.lift_π]
   rfl
@@ -1038,7 +1038,7 @@ variable (F) [HasColimit F] (G : C ⥤ D) [HasColimit (F ⋙ G)]
 to `G` applied to the colimit of `F`.
 -/
 def colimit.post : colimit (F ⋙ G) ⟶ G.obj (colimit F) :=
-  colimit.desc (F ⋙ G) (mapCocone G (colimit.cocone F))
+  colimit.desc (F ⋙ G) (G.mapCocone (colimit.cocone F))
 #align category_theory.limits.colimit.post CategoryTheory.Limits.colimit.post
 
 @[reassoc (attr := simp)]
@@ -1050,7 +1050,7 @@ theorem colimit.ι_post (j : J) : colimit.ι (F ⋙ G) j ≫ colimit.post F G =
 
 @[simp]
 theorem colimit.post_desc (c : Cocone F) :
-    colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (mapCocone G c) := by
+    colimit.post F G ≫ G.map (colimit.desc F c) = colimit.desc (F ⋙ G) (G.mapCocone c) := by
   ext
   rw [← assoc, colimit.ι_post, ← G.map_comp, colimit.ι_desc, colimit.ι_desc]
   rfl
feat: port/CategoryTheory.Limits.HasLimits (#2368)

Dependencies 72

73 files ported (100.0%)
25266 lines ported (100.0%)

All dependencies are ported!