category_theory.limits.conesMathlib.CategoryTheory.Limits.Cones

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -458,13 +458,13 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G)
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
 -/
 
-#print CategoryTheory.Limits.Cones.functorialityFull /-
-instance functorialityFull [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
+#print CategoryTheory.Limits.Cones.functoriality_full /-
+instance functoriality_full [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
     CategoryTheory.Functor.Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
-#align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
+#align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functoriality_full
 -/
 
 #print CategoryTheory.Limits.Cones.functoriality_faithful /-
@@ -692,13 +692,13 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G)
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 -/
 
-#print CategoryTheory.Limits.Cocones.functorialityFull /-
-instance functorialityFull [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
+#print CategoryTheory.Limits.Cocones.functoriality_full /-
+instance functoriality_full [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
     CategoryTheory.Functor.Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
-#align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
+#align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functoriality_full
 -/
 
 #print CategoryTheory.Limits.Cocones.functoriality_faithful /-
Diff
@@ -459,7 +459,8 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G)
 -/
 
 #print CategoryTheory.Limits.Cones.functorialityFull /-
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
+instance functorialityFull [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
+    CategoryTheory.Functor.Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
@@ -467,7 +468,8 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
 -/
 
 #print CategoryTheory.Limits.Cones.functoriality_faithful /-
-instance functoriality_faithful [Faithful G] : Faithful (Cones.functoriality F G)
+instance functoriality_faithful [CategoryTheory.Functor.Faithful G] :
+    CategoryTheory.Functor.Faithful (Cones.functoriality F G)
     where map_injective' X Y f g e := by ext1; injection e; apply G.map_injective h_1
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functoriality_faithful
 -/
@@ -491,8 +493,8 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.Functor) :
 /-- If `F` reflects isomorphisms, then `cones.functoriality F` reflects isomorphisms
 as well.
 -/
-instance reflects_cone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
-    ReflectsIsomorphisms (Cones.functoriality K F) :=
+instance reflects_cone_isomorphism (F : C ⥤ D) [CategoryTheory.Functor.ReflectsIsomorphisms F]
+    (K : J ⥤ C) : CategoryTheory.Functor.ReflectsIsomorphisms (Cones.functoriality K F) :=
   by
   constructor
   intros
@@ -691,7 +693,8 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G)
 -/
 
 #print CategoryTheory.Limits.Cocones.functorialityFull /-
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
+instance functorialityFull [CategoryTheory.Functor.Full G] [CategoryTheory.Functor.Faithful G] :
+    CategoryTheory.Functor.Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
@@ -699,7 +702,8 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
 -/
 
 #print CategoryTheory.Limits.Cocones.functoriality_faithful /-
-instance functoriality_faithful [Faithful G] : Faithful (functoriality F G)
+instance functoriality_faithful [CategoryTheory.Functor.Faithful G] :
+    CategoryTheory.Functor.Faithful (functoriality F G)
     where map_injective' X Y f g e := by ext1; injection e; apply G.map_injective h_1
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
 -/
@@ -735,8 +739,8 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.Functo
 /-- If `F` reflects isomorphisms, then `cocones.functoriality F` reflects isomorphisms
 as well.
 -/
-instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
-    ReflectsIsomorphisms (Cocones.functoriality K F) :=
+instance reflects_cocone_isomorphism (F : C ⥤ D) [CategoryTheory.Functor.ReflectsIsomorphisms F]
+    (K : J ⥤ C) : CategoryTheory.Functor.ReflectsIsomorphisms (Cocones.functoriality K F) :=
   by
   constructor
   intros
@@ -793,23 +797,23 @@ def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.map
 #print CategoryTheory.Functor.mapConeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
-def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
+def mapConeInv [CategoryTheory.Functor.IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
 -/
 
 #print CategoryTheory.Functor.mapConeMapConeInv /-
 /-- `map_cone` is the left inverse to `map_cone_inv`. -/
-def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone (F ⋙ H)) :
-    mapCone H (mapConeInv H c) ≅ c :=
+def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [CategoryTheory.Functor.IsEquivalence H]
+    (c : Cone (F ⋙ H)) : mapCone H (mapConeInv H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInv
 -/
 
 #print CategoryTheory.Functor.mapConeInvMapCone /-
 /-- `map_cone` is the right inverse to `map_cone_inv`. -/
-def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F) :
-    mapConeInv H (mapCone H c) ≅ c :=
+def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [CategoryTheory.Functor.IsEquivalence H]
+    (c : Cone F) : mapConeInv H (mapCone H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
 -/
@@ -817,23 +821,23 @@ def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F)
 #print CategoryTheory.Functor.mapCoconeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
-def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
+def mapCoconeInv [CategoryTheory.Functor.IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
 -/
 
 #print CategoryTheory.Functor.mapCoconeMapCoconeInv /-
 /-- `map_cocone` is the left inverse to `map_cocone_inv`. -/
-def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone (F ⋙ H)) :
-    mapCocone H (mapCoconeInv H c) ≅ c :=
+def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [CategoryTheory.Functor.IsEquivalence H]
+    (c : Cocone (F ⋙ H)) : mapCocone H (mapCoconeInv H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInv
 -/
 
 #print CategoryTheory.Functor.mapCoconeInvMapCocone /-
 /-- `map_cocone` is the right inverse to `map_cocone_inv`. -/
-def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone F) :
-    mapCoconeInv H (mapCocone H c) ≅ c :=
+def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [CategoryTheory.Functor.IsEquivalence H]
+    (c : Cocone F) : mapCoconeInv H (mapCocone H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCocone
 -/
Diff
@@ -6,7 +6,7 @@ Authors: Stephen Morgan, Scott Morrison, Floris van Doorn
 import CategoryTheory.Functor.Const
 import CategoryTheory.DiscreteCategory
 import CategoryTheory.Yoneda
-import CategoryTheory.Functor.ReflectsIsomorphisms
+import CategoryTheory.Functor.ReflectsIso
 
 #align_import category_theory.limits.cones from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
 
Diff
@@ -466,10 +466,10 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
 -/
 
-#print CategoryTheory.Limits.Cones.functorialityFaithful /-
-instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G)
+#print CategoryTheory.Limits.Cones.functoriality_faithful /-
+instance functoriality_faithful [Faithful G] : Faithful (Cones.functoriality F G)
     where map_injective' X Y f g e := by ext1; injection e; apply G.map_injective h_1
-#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
+#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functoriality_faithful
 -/
 
 #print CategoryTheory.Limits.Cones.functorialityEquivalence /-
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Stephen Morgan, Scott Morrison, Floris van Doorn
 -/
-import Mathbin.CategoryTheory.Functor.Const
-import Mathbin.CategoryTheory.DiscreteCategory
-import Mathbin.CategoryTheory.Yoneda
-import Mathbin.CategoryTheory.Functor.ReflectsIsomorphisms
+import CategoryTheory.Functor.Const
+import CategoryTheory.DiscreteCategory
+import CategoryTheory.Yoneda
+import CategoryTheory.Functor.ReflectsIsomorphisms
 
 #align_import category_theory.limits.cones from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
 
Diff
@@ -285,8 +285,6 @@ structure ConeMorphism (A B : Cone F) where
 #align category_theory.limits.cone_morphism CategoryTheory.Limits.ConeMorphism
 -/
 
-restate_axiom cone_morphism.w'
-
 attribute [simp, reassoc] cone_morphism.w
 
 #print CategoryTheory.Limits.inhabitedConeMorphism /-
@@ -524,8 +522,6 @@ instance inhabitedCoconeMorphism (A : Cocone F) : Inhabited (CoconeMorphism A A)
 #align category_theory.limits.inhabited_cocone_morphism CategoryTheory.Limits.inhabitedCoconeMorphism
 -/
 
-restate_axiom cocone_morphism.w'
-
 attribute [simp, reassoc] cocone_morphism.w
 
 #print CategoryTheory.Limits.Cocone.category /-
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Stephen Morgan, Scott Morrison, Floris van Doorn
-
-! This file was ported from Lean 3 source module category_theory.limits.cones
-! 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.Functor.Const
 import Mathbin.CategoryTheory.DiscreteCategory
 import Mathbin.CategoryTheory.Yoneda
 import Mathbin.CategoryTheory.Functor.ReflectsIsomorphisms
 
+#align_import category_theory.limits.cones from "leanprover-community/mathlib"@"ee05e9ce1322178f0c12004eb93c00d2c8c00ed2"
+
 /-!
 # Cones and cocones
 
Diff
@@ -149,10 +149,12 @@ instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
 #align category_theory.limits.inhabited_cone CategoryTheory.Limits.inhabitedCone
 -/
 
+#print CategoryTheory.Limits.Cone.w /-
 @[simp, reassoc]
 theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
     c.π.app j ≫ F.map f = c.π.app j' := by rw [← c.π.naturality f]; apply id_comp
 #align category_theory.limits.cone.w CategoryTheory.Limits.Cone.w
+-/
 
 #print CategoryTheory.Limits.Cocone /-
 /-- A `c : cocone F` is
@@ -174,10 +176,12 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 -/
 
+#print CategoryTheory.Limits.Cocone.w /-
 @[simp, reassoc]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j := by rw [c.ι.naturality f]; apply comp_id
 #align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.w
+-/
 
 end
 
@@ -185,6 +189,7 @@ variable {F : J ⥤ C}
 
 namespace Cone
 
+#print CategoryTheory.Limits.Cone.equiv /-
 /-- The isomorphism between a cone on `F` and an element of the functor `F.cones`. -/
 @[simps]
 def equiv (F : J ⥤ C) : Cone F ≅ Σ X, F.cones.obj X
@@ -196,12 +201,15 @@ def equiv (F : J ⥤ C) : Cone F ≅ Σ X, F.cones.obj X
   hom_inv_id' := by ext1; cases x; rfl
   inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equiv
+-/
 
+#print CategoryTheory.Limits.Cone.extensions /-
 /-- A map to the vertex of a cone naturally induces a cone by composition. -/
 @[simps]
 def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones
     where app X f := (const J).map f.down ≫ c.π
 #align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensions
+-/
 
 #print CategoryTheory.Limits.Cone.extend /-
 /-- A map to the vertex of a cone induces a cone by composition. -/
@@ -226,6 +234,7 @@ end Cone
 
 namespace Cocone
 
+#print CategoryTheory.Limits.Cocone.equiv /-
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
 def equiv (F : J ⥤ C) : Cocone F ≅ Σ X, F.cocones.obj X
     where
@@ -236,12 +245,15 @@ def equiv (F : J ⥤ C) : Cocone F ≅ Σ X, F.cocones.obj X
   hom_inv_id' := by ext1; cases x; rfl
   inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equiv
+-/
 
+#print CategoryTheory.Limits.Cocone.extensions /-
 /-- A map from the vertex of a cocone naturally induces a cocone by composition. -/
 @[simps]
 def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones
     where app X f := c.ι ≫ (const J).map f.down
 #align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensions
+-/
 
 #print CategoryTheory.Limits.Cocone.extend /-
 /-- A map from the vertex of a cocone induces a cocone by composition. -/
@@ -299,6 +311,7 @@ instance Cone.category : Category (Cone F)
 
 namespace Cones
 
+#print CategoryTheory.Limits.Cones.ext /-
 /-- To give an isomorphism between cones, it suffices to give an
   isomorphism between their vertices which commutes with the cone
   maps. -/
@@ -310,6 +323,7 @@ def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.π.app j = φ.Hom 
     { Hom := φ.inv
       w' := fun j => φ.inv_comp_eq.mpr (w j) }
 #align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.ext
+-/
 
 #print CategoryTheory.Limits.Cones.eta /-
 /-- Eta rule for cones. -/
@@ -361,6 +375,7 @@ def postcomposeId : postcompose (𝟙 F) ≅ 𝟭 (Cone F) :=
 #align category_theory.limits.cones.postcompose_id CategoryTheory.Limits.Cones.postcomposeId
 -/
 
+#print CategoryTheory.Limits.Cones.postcomposeEquivalence /-
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cones.
 -/
@@ -372,6 +387,7 @@ def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G
   unitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by tidy)) (by tidy)
   counitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cones.postcompose_equivalence CategoryTheory.Limits.Cones.postcomposeEquivalence
+-/
 
 #print CategoryTheory.Limits.Cones.whiskering /-
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `cone F` to `cone (E ⋙ F)`.
@@ -384,6 +400,7 @@ def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F)
 #align category_theory.limits.cones.whiskering CategoryTheory.Limits.Cones.whiskering
 -/
 
+#print CategoryTheory.Limits.Cones.whiskeringEquivalence /-
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -403,7 +420,9 @@ def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.Functor ⋙ F)
             simpa [e.counit_app_functor] using s.w (e.unit_inv.app k)))
       (by tidy)
 #align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalence
+-/
 
+#print CategoryTheory.Limits.Cones.equivalenceOfReindexing /-
 /-- The categories of cones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
 -/
@@ -411,6 +430,7 @@ def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.Functor ⋙ F)
 def equivalenceOfReindexing {G : K ⥤ C} (e : K ≌ J) (α : e.Functor ⋙ F ≅ G) : Cone F ≌ Cone G :=
   (whiskeringEquivalence e).trans (postcomposeEquivalence α)
 #align category_theory.limits.cones.equivalence_of_reindexing CategoryTheory.Limits.Cones.equivalenceOfReindexing
+-/
 
 section
 
@@ -457,6 +477,7 @@ instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G)
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
 -/
 
+#print CategoryTheory.Limits.Cones.functorialityEquivalence /-
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cones over `F` and cones over `F ⋙ e.functor`.
 -/
@@ -469,6 +490,7 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.Functor) :
     unitIso := NatIso.ofComponents (fun c => Cones.ext (e.unitIso.app _) (by tidy)) (by tidy)
     counitIso := NatIso.ofComponents (fun c => Cones.ext (e.counitIso.app _) (by tidy)) (by tidy) }
 #align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalence
+-/
 
 #print CategoryTheory.Limits.Cones.reflects_cone_isomorphism /-
 /-- If `F` reflects isomorphisms, then `cones.functoriality F` reflects isomorphisms
@@ -521,6 +543,7 @@ instance Cocone.category : Category (Cocone F)
 
 namespace Cocones
 
+#print CategoryTheory.Limits.Cocones.ext /-
 /-- To give an isomorphism between cocones, it suffices to give an
   isomorphism between their vertices which commutes with the cocone
   maps. -/
@@ -532,6 +555,7 @@ def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.Ho
     { Hom := φ.inv
       w' := fun j => φ.comp_inv_eq.mpr (w j).symm }
 #align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.ext
+-/
 
 #print CategoryTheory.Limits.Cocones.eta /-
 /-- Eta rule for cocones. -/
@@ -581,6 +605,7 @@ def precomposeId : precompose (𝟙 F) ≅ 𝟭 (Cocone F) :=
 #align category_theory.limits.cocones.precompose_id CategoryTheory.Limits.Cocones.precomposeId
 -/
 
+#print CategoryTheory.Limits.Cocones.precomposeEquivalence /-
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cocones.
 -/
@@ -592,6 +617,7 @@ def precomposeEquivalence {G : J ⥤ C} (α : G ≅ F) : Cocone F ≌ Cocone G
   unitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by tidy)) (by tidy)
   counitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cocones.precompose_equivalence CategoryTheory.Limits.Cocones.precomposeEquivalence
+-/
 
 #print CategoryTheory.Limits.Cocones.whiskering /-
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `cocone F` to `cocone (E ⋙ F)`.
@@ -604,6 +630,7 @@ def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F)
 #align category_theory.limits.cocones.whiskering CategoryTheory.Limits.Cocones.whiskering
 -/
 
+#print CategoryTheory.Limits.Cocones.whiskeringEquivalence /-
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -626,7 +653,9 @@ def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.Functor ⋙ F)
             simpa [e.counit_inv_app_functor k] using s.w (e.unit.app k)))
       (by tidy)
 #align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalence
+-/
 
+#print CategoryTheory.Limits.Cocones.equivalenceOfReindexing /-
 /--
 The categories of cocones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
@@ -635,6 +664,7 @@ The categories of cocones over `F` and `G` are equivalent if `F` and `G` are nat
 def equivalenceOfReindexing {G : K ⥤ C} (e : K ≌ J) (α : e.Functor ⋙ F ≅ G) : Cocone F ≌ Cocone G :=
   (whiskeringEquivalence e).trans (precomposeEquivalence α.symm)
 #align category_theory.limits.cocones.equivalence_of_reindexing CategoryTheory.Limits.Cocones.equivalenceOfReindexing
+-/
 
 section
 
@@ -681,6 +711,7 @@ instance functoriality_faithful [Faithful G] : Faithful (functoriality F G)
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
 -/
 
+#print CategoryTheory.Limits.Cocones.functorialityEquivalence /-
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cocones over `F` and cocones over `F ⋙ e.functor`.
 -/
@@ -705,6 +736,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.Functo
               dsimp; simp))-- See note [dsimp, simp].
       fun c c' f => by ext; dsimp; simp; dsimp; simp }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
+-/
 
 #print CategoryTheory.Limits.Cocones.reflects_cocone_isomorphism /-
 /-- If `F` reflects isomorphisms, then `cocones.functoriality F` reflects isomorphisms
@@ -734,64 +766,84 @@ variable {F : J ⥤ C} {G : J ⥤ C} (H : C ⥤ D)
 
 open CategoryTheory.Limits
 
+#print CategoryTheory.Functor.mapCone /-
 /-- The image of a cone in C under a functor G : C ⥤ D is a cone in D. -/
 @[simps]
 def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
+-/
 
+#print CategoryTheory.Functor.mapCocone /-
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
 @[simps]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
+-/
 
+#print CategoryTheory.Functor.mapConeMorphism /-
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
 #align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphism
+-/
 
+#print CategoryTheory.Functor.mapCoconeMorphism /-
 /-- Given a cocone morphism `c ⟶ c'`, construct a cocone morphism on the mapped cocones
 functorially. -/
 def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.mapCocone c' :=
   (Cocones.functoriality F H).map f
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
+-/
 
+#print CategoryTheory.Functor.mapConeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
+-/
 
+#print CategoryTheory.Functor.mapConeMapConeInv /-
 /-- `map_cone` is the left inverse to `map_cone_inv`. -/
 def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone (F ⋙ H)) :
     mapCone H (mapConeInv H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInv
+-/
 
+#print CategoryTheory.Functor.mapConeInvMapCone /-
 /-- `map_cone` is the right inverse to `map_cone_inv`. -/
 def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F) :
     mapConeInv H (mapCone H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
+-/
 
+#print CategoryTheory.Functor.mapCoconeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
+-/
 
+#print CategoryTheory.Functor.mapCoconeMapCoconeInv /-
 /-- `map_cocone` is the left inverse to `map_cocone_inv`. -/
 def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone (F ⋙ H)) :
     mapCocone H (mapCoconeInv H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInv
+-/
 
+#print CategoryTheory.Functor.mapCoconeInvMapCocone /-
 /-- `map_cocone` is the right inverse to `map_cocone_inv`. -/
 def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone F) :
     mapCoconeInv H (mapCocone H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCocone
+-/
 
 #print CategoryTheory.Functor.functorialityCompPostcompose /-
 /-- `functoriality F _ ⋙ postcompose (whisker_left F _)` simplifies to `functoriality F _`. -/
@@ -802,6 +854,7 @@ def functorialityCompPostcompose {H H' : C ⥤ D} (α : H ≅ H') :
 #align category_theory.functor.functoriality_comp_postcompose CategoryTheory.Functor.functorialityCompPostcompose
 -/
 
+#print CategoryTheory.Functor.postcomposeWhiskerLeftMapCone /-
 /-- For `F : J ⥤ C`, given a cone `c : cone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the postcomposition of the cone `H.map_cone` using the isomorphism `α` is
 isomorphic to the cone `H'.map_cone`.
@@ -811,7 +864,9 @@ def postcomposeWhiskerLeftMapCone {H H' : C ⥤ D} (α : H ≅ H') (c : Cone F)
     (Cones.postcompose (whiskerLeft F α.Hom : _)).obj (H.mapCone c) ≅ H'.mapCone c :=
   (functorialityCompPostcompose α).app c
 #align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapCone
+-/
 
+#print CategoryTheory.Functor.mapConePostcompose /-
 /--
 `map_cone` commutes with `postcompose`. In particular, for `F : J ⥤ C`, given a cone `c : cone F`, a
 natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious ways of producing
@@ -823,7 +878,9 @@ def mapConePostcompose {α : F ⟶ G} {c} :
       (Cones.postcompose (whiskerRight α H : _)).obj (H.mapCone c) :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcompose
+-/
 
+#print CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor /-
 /-- `map_cone` commutes with `postcompose_equivalence`
 -/
 @[simps]
@@ -832,6 +889,7 @@ def mapConePostcomposeEquivalenceFunctor {α : F ≅ G} {c} :
       (Cones.postcomposeEquivalence (isoWhiskerRight α H : _)).Functor.obj (H.mapCone c) :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor
+-/
 
 #print CategoryTheory.Functor.functorialityCompPrecompose /-
 /-- `functoriality F _ ⋙ precompose (whisker_left F _)` simplifies to `functoriality F _`. -/
@@ -843,6 +901,7 @@ def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
 #align category_theory.functor.functoriality_comp_precompose CategoryTheory.Functor.functorialityCompPrecompose
 -/
 
+#print CategoryTheory.Functor.precomposeWhiskerLeftMapCocone /-
 /--
 For `F : J ⥤ C`, given a cocone `c : cocone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the precomposition of the cocone `H.map_cocone` using the isomorphism `α` is
@@ -853,7 +912,9 @@ def precomposeWhiskerLeftMapCocone {H H' : C ⥤ D} (α : H ≅ H') (c : Cocone
     (Cocones.precompose (whiskerLeft F α.inv : _)).obj (H.mapCocone c) ≅ H'.mapCocone c :=
   (functorialityCompPrecompose α).app c
 #align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCocone
+-/
 
+#print CategoryTheory.Functor.mapCoconePrecompose /-
 /-- `map_cocone` commutes with `precompose`. In particular, for `F : J ⥤ C`, given a cocone
 `c : cocone F`, a natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious
 ways of producing a cocone over `G ⋙ H`, and they are both isomorphic.
@@ -864,7 +925,9 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
       (Cocones.precompose (whiskerRight α H : _)).obj (H.mapCocone c) :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecompose
+-/
 
+#print CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor /-
 /-- `map_cocone` commutes with `precompose_equivalence`
 -/
 @[simps]
@@ -873,14 +936,18 @@ def mapCoconePrecomposeEquivalenceFunctor {α : F ≅ G} {c} :
       (Cocones.precomposeEquivalence (isoWhiskerRight α H : _)).Functor.obj (H.mapCocone c) :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor
+-/
 
+#print CategoryTheory.Functor.mapConeWhisker /-
 /-- `map_cone` commutes with `whisker`
 -/
 @[simps]
 def mapConeWhisker {E : K ⥤ J} {c : Cone F} : H.mapCone (c.whisker E) ≅ (H.mapCone c).whisker E :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhisker
+-/
 
+#print CategoryTheory.Functor.mapCoconeWhisker /-
 /-- `map_cocone` commutes with `whisker`
 -/
 @[simps]
@@ -888,6 +955,7 @@ def mapCoconeWhisker {E : K ⥤ J} {c : Cocone F} :
     H.mapCocone (c.whisker E) ≅ (H.mapCocone c).whisker E :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhisker
+-/
 
 end Functor
 
@@ -940,6 +1008,7 @@ def Cone.unop (c : Cone F.op) : Cocone F
 
 variable (F)
 
+#print CategoryTheory.Limits.coconeEquivalenceOpConeOp /-
 /-- The category of cocones on `F`
 is equivalent to the opposite category of
 the category of cones on the opposite of `F`.
@@ -968,6 +1037,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ
       fun X Y f => Quiver.Hom.unop_inj (ConeMorphism.ext _ _ (by dsimp; simp))
   functor_unitIso_comp' c := by apply Quiver.Hom.unop_inj; ext; dsimp; apply comp_id
 #align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOp
+-/
 
 attribute [simps] cocone_equivalence_op_cone_op
 
@@ -1016,11 +1086,13 @@ def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
 #align category_theory.limits.cocone_of_cone_left_op CategoryTheory.Limits.coconeOfConeLeftOp
 -/
 
+#print CategoryTheory.Limits.coconeOfConeLeftOp_ι_app /-
 @[simp]
 theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
     (coconeOfConeLeftOp c).ι.app j = (c.π.app (op j)).op := by dsimp only [cocone_of_cone_left_op];
   simp
 #align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_app
+-/
 
 #print CategoryTheory.Limits.coneLeftOpOfCocone /-
 /-- Change a cocone on `F : J ⥤ Cᵒᵖ` to a cone on `F.left_op : Jᵒᵖ ⥤ C`. -/
@@ -1140,17 +1212,21 @@ section
 
 variable (G : C ⥤ D)
 
+#print CategoryTheory.Functor.mapConeOp /-
 /-- The opposite cocone of the image of a cone is the image of the opposite cocone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapConeOp (t : Cone F) : (G.mapCone t).op ≅ G.op.mapCocone t.op :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOp
+-/
 
+#print CategoryTheory.Functor.mapCoconeOp /-
 /-- The opposite cone of the image of a cocone is the image of the opposite cone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapCoconeOp {t : Cocone F} : (G.mapCocone t).op ≅ G.op.mapCone t.op :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOp
+-/
 
 end
 
Diff
@@ -187,7 +187,7 @@ namespace Cone
 
 /-- The isomorphism between a cone on `F` and an element of the functor `F.cones`. -/
 @[simps]
-def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
+def equiv (F : J ⥤ C) : Cone F ≅ Σ X, F.cones.obj X
     where
   Hom c := ⟨op c.pt, c.π⟩
   inv c :=
@@ -227,7 +227,7 @@ end Cone
 namespace Cocone
 
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
-def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
+def equiv (F : J ⥤ C) : Cocone F ≅ Σ X, F.cocones.obj X
     where
   Hom c := ⟨c.pt, c.ι⟩
   inv c :=
Diff
@@ -149,12 +149,6 @@ instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
 #align category_theory.limits.inhabited_cone CategoryTheory.Limits.inhabitedCone
 -/
 
-/- warning: category_theory.limits.cone.w -> CategoryTheory.Limits.Cone.w is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.w CategoryTheory.Limits.Cone.wₓ'. -/
 @[simp, reassoc]
 theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
     c.π.app j ≫ F.map f = c.π.app j' := by rw [← c.π.naturality f]; apply id_comp
@@ -180,9 +174,6 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 -/
 
-/- warning: category_theory.limits.cocone.w -> CategoryTheory.Limits.Cocone.w is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
 @[simp, reassoc]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j := by rw [c.ι.naturality f]; apply comp_id
@@ -194,12 +185,6 @@ variable {F : J ⥤ C}
 
 namespace Cone
 
-/- warning: category_theory.limits.cone.equiv -> CategoryTheory.Limits.Cone.equiv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max u3 u4 u2, max (succ u3) (succ u4) (succ u2)} Sort.{max (succ u3) (succ u4) (succ u2)} CategoryTheory.types.{max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} (Opposite.{succ u4} C) (fun (X : Opposite.{succ u4} C) => CategoryTheory.Functor.obj.{u2, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) X))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max (max u3 u4) u2, max (max (succ u4) (succ u3)) (succ u2)} Sort.{max (max (succ u3) (succ u4)) (succ u2)} CategoryTheory.types.{max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} (Opposite.{succ u4} C) (fun (X : Opposite.{succ u4} C) => Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) Type.{max u3 u2} (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equivₓ'. -/
 /-- The isomorphism between a cone on `F` and an element of the functor `F.cones`. -/
 @[simps]
 def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
@@ -212,12 +197,6 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
   inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equiv
 
-/- warning: category_theory.limits.cone.extensions -> CategoryTheory.Limits.Cone.extensions is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u2) (succ u4), u4, max (succ u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensionsₓ'. -/
 /-- A map to the vertex of a cone naturally induces a cone by composition. -/
 @[simps]
 def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones
@@ -247,12 +226,6 @@ end Cone
 
 namespace Cocone
 
-/- warning: category_theory.limits.cocone.equiv -> CategoryTheory.Limits.Cocone.equiv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max u3 u4 u2, max (succ u3) (succ u4) (succ u2)} Sort.{max (succ u3) (succ u4) (succ u2)} CategoryTheory.types.{max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} C (fun (X : C) => CategoryTheory.Functor.obj.{u2, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) X))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max (max u3 u4) u2, max (max (succ u4) (succ u3)) (succ u2)} Sort.{max (max (succ u3) (succ u4)) (succ u2)} CategoryTheory.types.{max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} C (fun (X : C) => Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (succ u3) (succ u2)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) Type.{max u3 u2} (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equivₓ'. -/
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
 def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
     where
@@ -264,12 +237,6 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
   inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equiv
 
-/- warning: category_theory.limits.cocone.extensions -> CategoryTheory.Limits.Cocone.extensions is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u4) (succ u2), u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3)) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensionsₓ'. -/
 /-- A map from the vertex of a cocone naturally induces a cocone by composition. -/
 @[simps]
 def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones
@@ -332,12 +299,6 @@ instance Cone.category : Category (Cone F)
 
 namespace Cones
 
-/- warning: category_theory.limits.cones.ext -> CategoryTheory.Limits.Cones.ext is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.extₓ'. -/
 /-- To give an isomorphism between cones, it suffices to give an
   isomorphism between their vertices which commutes with the cone
   maps. -/
@@ -400,12 +361,6 @@ def postcomposeId : postcompose (𝟙 F) ≅ 𝟭 (Cone F) :=
 #align category_theory.limits.cones.postcompose_id CategoryTheory.Limits.Cones.postcomposeId
 -/
 
-/- warning: category_theory.limits.cones.postcompose_equivalence -> CategoryTheory.Limits.Cones.postcomposeEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) F G) -> (CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) F G) -> (CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.postcompose_equivalence CategoryTheory.Limits.Cones.postcomposeEquivalenceₓ'. -/
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cones.
 -/
@@ -429,12 +384,6 @@ def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F)
 #align category_theory.limits.cones.whiskering CategoryTheory.Limits.Cones.whiskering
 -/
 
-/- warning: category_theory.limits.cones.whiskering_equivalence -> CategoryTheory.Limits.Cones.whiskeringEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F)) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalenceₓ'. -/
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -455,12 +404,6 @@ def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.Functor ⋙ F)
       (by tidy)
 #align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalence
 
-/- warning: category_theory.limits.cones.equivalence_of_reindexing -> CategoryTheory.Limits.Cones.equivalenceOfReindexing is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), (CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), (CategoryTheory.Iso.{max u5 u3, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.equivalence_of_reindexing CategoryTheory.Limits.Cones.equivalenceOfReindexingₓ'. -/
 /-- The categories of cones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
 -/
@@ -514,12 +457,6 @@ instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G)
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
 -/
 
-/- warning: category_theory.limits.cones.functoriality_equivalence -> CategoryTheory.Limits.Cones.functorialityEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4), CategoryTheory.Equivalence.{u2, u3, max u4 u5 u2, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e)))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C D _inst_3 _inst_4), CategoryTheory.Equivalence.{u2, u3, max (max u5 u4) u2, max (max u6 u4) u3} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e))) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalenceₓ'. -/
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cones over `F` and cones over `F ⋙ e.functor`.
 -/
@@ -584,12 +521,6 @@ instance Cocone.category : Category (Cocone F)
 
 namespace Cocones
 
-/- warning: category_theory.limits.cocones.ext -> CategoryTheory.Limits.Cocones.ext is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.extₓ'. -/
 /-- To give an isomorphism between cocones, it suffices to give an
   isomorphism between their vertices which commutes with the cocone
   maps. -/
@@ -650,12 +581,6 @@ def precomposeId : precompose (𝟙 F) ≅ 𝟭 (Cocone F) :=
 #align category_theory.limits.cocones.precompose_id CategoryTheory.Limits.Cocones.precomposeId
 -/
 
-/- warning: category_theory.limits.cocones.precompose_equivalence -> CategoryTheory.Limits.Cocones.precomposeEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) G F) -> (CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) G F) -> (CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.precompose_equivalence CategoryTheory.Limits.Cocones.precomposeEquivalenceₓ'. -/
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cocones.
 -/
@@ -679,12 +604,6 @@ def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F)
 #align category_theory.limits.cocones.whiskering CategoryTheory.Limits.Cocones.whiskering
 -/
 
-/- warning: category_theory.limits.cocones.whiskering_equivalence -> CategoryTheory.Limits.Cocones.whiskeringEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F)) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalenceₓ'. -/
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -708,12 +627,6 @@ def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.Functor ⋙ F)
       (by tidy)
 #align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalence
 
-/- warning: category_theory.limits.cocones.equivalence_of_reindexing -> CategoryTheory.Limits.Cocones.equivalenceOfReindexing is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), (CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), (CategoryTheory.Iso.{max u5 u3, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.equivalence_of_reindexing CategoryTheory.Limits.Cocones.equivalenceOfReindexingₓ'. -/
 /--
 The categories of cocones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
@@ -768,12 +681,6 @@ instance functoriality_faithful [Faithful G] : Faithful (functoriality F G)
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
 -/
 
-/- warning: category_theory.limits.cocones.functoriality_equivalence -> CategoryTheory.Limits.Cocones.functorialityEquivalence is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4), CategoryTheory.Equivalence.{u2, u3, max u4 u5 u2, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e)))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C D _inst_3 _inst_4), CategoryTheory.Equivalence.{u2, u3, max (max u5 u4) u2, max (max u6 u4) u3} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalenceₓ'. -/
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cocones over `F` and cocones over `F ⋙ e.functor`.
 -/
@@ -827,119 +734,59 @@ variable {F : J ⥤ C} {G : J ⥤ C} (H : C ⥤ D)
 
 open CategoryTheory.Limits
 
-/- warning: category_theory.functor.map_cone -> CategoryTheory.Functor.mapCone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4), (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) -> (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3}, (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) -> (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone CategoryTheory.Functor.mapConeₓ'. -/
 /-- The image of a cone in C under a functor G : C ⥤ D is a cone in D. -/
 @[simps]
 def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
 
-/- warning: category_theory.functor.map_cocone -> CategoryTheory.Functor.mapCocone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4), (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) -> (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3}, (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) -> (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone CategoryTheory.Functor.mapCoconeₓ'. -/
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
 @[simps]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
 
-/- warning: category_theory.functor.map_cone_morphism -> CategoryTheory.Functor.mapConeMorphism is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, (Quiver.Hom.{succ u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) c c') -> (Quiver.Hom.{succ u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H} {c' : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, (Quiver.Hom.{succ u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) c c') -> (Quiver.Hom.{succ u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphismₓ'. -/
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
 #align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphism
 
-/- warning: category_theory.functor.map_cocone_morphism -> CategoryTheory.Functor.mapCoconeMorphism is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, (Quiver.Hom.{succ u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) c c') -> (Quiver.Hom.{succ u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, (Quiver.Hom.{succ u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) c c') -> (Quiver.Hom.{succ u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphismₓ'. -/
 /-- Given a cocone morphism `c ⟶ c'`, construct a cocone morphism on the mapped cocones
 functorially. -/
 def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.mapCocone c' :=
   (Cocones.functoriality F H).map f
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
 
-/- warning: category_theory.functor.map_cone_inv -> CategoryTheory.Functor.mapConeInv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 H], (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) -> (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F)
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 F], (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) -> (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInvₓ'. -/
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
 
-/- warning: category_theory.functor.map_cone_map_cone_inv -> CategoryTheory.Functor.mapConeMapConeInv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F (CategoryTheory.Equivalence.functor.{u3, u2, u6, u5} D _inst_4 C _inst_3 (CategoryTheory.Functor.asEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H _inst_5)))) (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 c)) c
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max (max u5 u2) u4} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 c)) c
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInvₓ'. -/
 /-- `map_cone` is the left inverse to `map_cone_inv`. -/
 def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone (F ⋙ H)) :
     mapCone H (mapConeInv H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInv
 
-/- warning: category_theory.functor.map_cone_inv_map_cone -> CategoryTheory.Functor.mapConeInvMapCone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H c)) c
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F c)) c
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapConeₓ'. -/
 /-- `map_cone` is the right inverse to `map_cone_inv`. -/
 def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F) :
     mapConeInv H (mapCone H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
 
-/- warning: category_theory.functor.map_cocone_inv -> CategoryTheory.Functor.mapCoconeInv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 H], (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) -> (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F)
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 F], (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) -> (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInvₓ'. -/
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
 
-/- warning: category_theory.functor.map_cocone_map_cocone_inv -> CategoryTheory.Functor.mapCoconeMapCoconeInv is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F (CategoryTheory.Equivalence.functor.{u3, u2, u6, u5} D _inst_4 C _inst_3 (CategoryTheory.Functor.asEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H _inst_5)))) (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 c)) c
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max (max u5 u2) u4} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 c)) c
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInvₓ'. -/
 /-- `map_cocone` is the left inverse to `map_cocone_inv`. -/
 def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone (F ⋙ H)) :
     mapCocone H (mapCoconeInv H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInv
 
-/- warning: category_theory.functor.map_cocone_inv_map_cocone -> CategoryTheory.Functor.mapCoconeInvMapCocone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H c)) c
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F c)) c
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCoconeₓ'. -/
 /-- `map_cocone` is the right inverse to `map_cocone_inv`. -/
 def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone F) :
     mapCoconeInv H (mapCocone H c) ≅ c :=
@@ -955,12 +802,6 @@ def functorialityCompPostcompose {H H' : C ⥤ D} (α : H ≅ H') :
 #align category_theory.functor.functoriality_comp_postcompose CategoryTheory.Functor.functorialityCompPostcompose
 -/
 
-/- warning: category_theory.functor.postcompose_whisker_left_map_cone -> CategoryTheory.Functor.postcomposeWhiskerLeftMapCone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H' F c)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapConeₓ'. -/
 /-- For `F : J ⥤ C`, given a cone `c : cone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the postcomposition of the cone `H.map_cone` using the isomorphism `α` is
 isomorphic to the cone `H'.map_cone`.
@@ -971,12 +812,6 @@ def postcomposeWhiskerLeftMapCone {H H' : C ⥤ D} (α : H ≅ H') (c : Cone F)
   (functorialityCompPostcompose α).app c
 #align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapCone
 
-/- warning: category_theory.functor.map_cone_postcompose -> CategoryTheory.Functor.mapConePostcompose is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) G H} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G H α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcomposeₓ'. -/
 /--
 `map_cone` commutes with `postcompose`. In particular, for `F : J ⥤ C`, given a cone `c : cone F`, a
 natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious ways of producing
@@ -989,9 +824,6 @@ def mapConePostcompose {α : F ⟶ G} {c} :
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcompose
 
-/- warning: category_theory.functor.map_cone_postcompose_equivalence_functor -> CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctorₓ'. -/
 /-- `map_cone` commutes with `postcompose_equivalence`
 -/
 @[simps]
@@ -1011,12 +843,6 @@ def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
 #align category_theory.functor.functoriality_comp_precompose CategoryTheory.Functor.functorialityCompPrecompose
 -/
 
-/- warning: category_theory.functor.precompose_whisker_left_map_cocone -> CategoryTheory.Functor.precomposeWhiskerLeftMapCocone is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H' F c)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCoconeₓ'. -/
 /--
 For `F : J ⥤ C`, given a cocone `c : cocone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the precomposition of the cocone `H.map_cocone` using the isomorphism `α` is
@@ -1028,12 +854,6 @@ def precomposeWhiskerLeftMapCocone {H H' : C ⥤ D} (α : H ≅ H') (c : Cocone
   (functorialityCompPrecompose α).app c
 #align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCocone
 
-/- warning: category_theory.functor.map_cocone_precompose -> CategoryTheory.Functor.mapCoconePrecompose is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) G H} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 H G α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecomposeₓ'. -/
 /-- `map_cocone` commutes with `precompose`. In particular, for `F : J ⥤ C`, given a cocone
 `c : cocone F`, a natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious
 ways of producing a cocone over `G ⋙ H`, and they are both isomorphic.
@@ -1045,9 +865,6 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecompose
 
-/- warning: category_theory.functor.map_cocone_precompose_equivalence_functor -> CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctorₓ'. -/
 /-- `map_cocone` commutes with `precompose_equivalence`
 -/
 @[simps]
@@ -1057,12 +874,6 @@ def mapCoconePrecomposeEquivalenceFunctor {α : F ≅ G} {c} :
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor
 
-/- warning: category_theory.functor.map_cone_whisker -> CategoryTheory.Functor.mapConeWhisker is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] {F : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cone.{u1, u3, u5, u7} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u4, max u6 u8 u4} (CategoryTheory.Limits.Cone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Limits.Cone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Functor.mapCone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H (CategoryTheory.Limits.Cone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 F E c)) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H) E (CategoryTheory.Functor.mapCone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
-but is expected to have type
-  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] (F : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cone.{u1, u3, u5, u7} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u4, max (max u8 u4) u6} (CategoryTheory.Limits.Cone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Limits.Cone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Functor.mapCone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 F (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 H E c)) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 H F) E (CategoryTheory.Functor.mapCone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhiskerₓ'. -/
 /-- `map_cone` commutes with `whisker`
 -/
 @[simps]
@@ -1070,12 +881,6 @@ def mapConeWhisker {E : K ⥤ J} {c : Cone F} : H.mapCone (c.whisker E) ≅ (H.m
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhisker
 
-/- warning: category_theory.functor.map_cocone_whisker -> CategoryTheory.Functor.mapCoconeWhisker is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] {F : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cocone.{u1, u3, u5, u7} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u4, max u6 u8 u4} (CategoryTheory.Limits.Cocone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Limits.Cocone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Functor.mapCocone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 F E c)) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H) E (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
-but is expected to have type
-  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] (F : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cocone.{u1, u3, u5, u7} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u4, max (max u8 u4) u6} (CategoryTheory.Limits.Cocone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Limits.Cocone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Functor.mapCocone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 F (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 H E c)) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 H F) E (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhiskerₓ'. -/
 /-- `map_cocone` commutes with `whisker`
 -/
 @[simps]
@@ -1135,12 +940,6 @@ def Cone.unop (c : Cone F.op) : Cocone F
 
 variable (F)
 
-/- warning: category_theory.limits.cocone_equivalence_op_cone_op -> CategoryTheory.Limits.coconeEquivalenceOpConeOp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{succ (max u3 u4 u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Category.opposite.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{max (max (succ u4) (succ u3)) (succ u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.opposite.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOpₓ'. -/
 /-- The category of cocones on `F`
 is equivalent to the opposite category of
 the category of cones on the opposite of `F`.
@@ -1217,9 +1016,6 @@ def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
 #align category_theory.limits.cocone_of_cone_left_op CategoryTheory.Limits.coconeOfConeLeftOp
 -/
 
-/- warning: category_theory.limits.cocone_of_cone_left_op_ι_app -> CategoryTheory.Limits.coconeOfConeLeftOp_ι_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_appₓ'. -/
 @[simp]
 theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
     (coconeOfConeLeftOp c).ι.app j = (c.π.app (op j)).op := by dsimp only [cocone_of_cone_left_op];
@@ -1344,24 +1140,12 @@ section
 
 variable (G : C ⥤ D)
 
-/- warning: category_theory.functor.map_cone_op -> CategoryTheory.Functor.mapConeOp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (t : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G t)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (t : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F t)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOpₓ'. -/
 /-- The opposite cocone of the image of a cone is the image of the opposite cocone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapConeOp (t : Cone F) : (G.mapCone t).op ≅ G.op.mapCocone t.op :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOp
 
-/- warning: category_theory.functor.map_cocone_op -> CategoryTheory.Functor.mapCoconeOp is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {t : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G t)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {t : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F t)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOpₓ'. -/
 /-- The opposite cone of the image of a cocone is the image of the opposite cone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapCoconeOp {t : Cocone F} : (G.mapCocone t).op ≅ G.op.mapCone t.op :=
Diff
@@ -157,10 +157,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.w CategoryTheory.Limits.Cone.wₓ'. -/
 @[simp, reassoc]
 theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
-    c.π.app j ≫ F.map f = c.π.app j' :=
-  by
-  rw [← c.π.naturality f]
-  apply id_comp
+    c.π.app j ≫ F.map f = c.π.app j' := by rw [← c.π.naturality f]; apply id_comp
 #align category_theory.limits.cone.w CategoryTheory.Limits.Cone.w
 
 #print CategoryTheory.Limits.Cocone /-
@@ -188,10 +185,7 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
 @[simp, reassoc]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
-    F.map f ≫ c.ι.app j' = c.ι.app j :=
-  by
-  rw [c.ι.naturality f]
-  apply comp_id
+    F.map f ≫ c.ι.app j' = c.ι.app j := by rw [c.ι.naturality f]; apply comp_id
 #align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.w
 
 end
@@ -214,14 +208,8 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
   inv c :=
     { pt := c.1.unop
       π := c.2 }
-  hom_inv_id' := by
-    ext1
-    cases x
-    rfl
-  inv_hom_id' := by
-    ext1
-    cases x
-    rfl
+  hom_inv_id' := by ext1; cases x; rfl
+  inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equiv
 
 /- warning: category_theory.limits.cone.extensions -> CategoryTheory.Limits.Cone.extensions is a dubious translation:
@@ -272,14 +260,8 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
   inv c :=
     { pt := c.1
       ι := c.2 }
-  hom_inv_id' := by
-    ext1
-    cases x
-    rfl
-  inv_hom_id' := by
-    ext1
-    cases x
-    rfl
+  hom_inv_id' := by ext1; cases x; rfl
+  inv_hom_id' := by ext1; cases x; rfl
 #align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equiv
 
 /- warning: category_theory.limits.cocone.extensions -> CategoryTheory.Limits.Cocone.extensions is a dubious translation:
@@ -528,10 +510,7 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
 
 #print CategoryTheory.Limits.Cones.functorialityFaithful /-
 instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G)
-    where map_injective' X Y f g e := by
-    ext1
-    injection e
-    apply G.map_injective h_1
+    where map_injective' X Y f g e := by ext1; injection e; apply G.map_injective h_1
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
 -/
 
@@ -785,10 +764,7 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
 
 #print CategoryTheory.Limits.Cocones.functoriality_faithful /-
 instance functoriality_faithful [Faithful G] : Faithful (functoriality F G)
-    where map_injective' X Y f g e := by
-    ext1
-    injection e
-    apply G.map_injective h_1
+    where map_injective' X Y f g e := by ext1; injection e; apply G.map_injective h_1
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
 -/
 
@@ -820,12 +796,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.Functo
               simp only [← equivalence.counit_inv_app_functor, iso.inv_hom_id_app, map_comp,
                 equivalence.fun_inv_map, assoc, id_comp, iso.inv_hom_id_app_assoc]
               dsimp; simp))-- See note [dsimp, simp].
-      fun c c' f => by
-        ext
-        dsimp
-        simp
-        dsimp
-        simp }
+      fun c c' f => by ext; dsimp; simp; dsimp; simp }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
 #print CategoryTheory.Limits.Cocones.reflects_cocone_isomorphism /-
@@ -1181,50 +1152,22 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ
       map := fun X Y f =>
         Quiver.Hom.op
           { Hom := f.Hom.op
-            w' := fun j => by
-              apply Quiver.Hom.unop_inj
-              dsimp
-              apply cocone_morphism.w } }
+            w' := fun j => by apply Quiver.Hom.unop_inj; dsimp; apply cocone_morphism.w } }
   inverse :=
     { obj := fun c => Cone.unop (unop c)
       map := fun X Y f =>
         { Hom := f.unop.Hom.unop
-          w' := fun j => by
-            apply Quiver.Hom.op_inj
-            dsimp
-            apply cone_morphism.w } }
+          w' := fun j => by apply Quiver.Hom.op_inj; dsimp; apply cone_morphism.w } }
   unitIso :=
-    NatIso.ofComponents
-      (fun c =>
-        Cocones.ext (Iso.refl _)
-          (by
-            dsimp
-            simp))
-      fun X Y f => by
-      ext
+    NatIso.ofComponents (fun c => Cocones.ext (Iso.refl _) (by dsimp; simp)) fun X Y f => by ext;
       simp
   counitIso :=
     NatIso.ofComponents
       (fun c => by
         induction c using Opposite.rec'
-        dsimp
-        apply iso.op
-        exact
-          cones.ext (iso.refl _)
-            (by
-              dsimp
-              simp))
-      fun X Y f =>
-      Quiver.Hom.unop_inj
-        (ConeMorphism.ext _ _
-          (by
-            dsimp
-            simp))
-  functor_unitIso_comp' c := by
-    apply Quiver.Hom.unop_inj
-    ext
-    dsimp
-    apply comp_id
+        dsimp; apply iso.op; exact cones.ext (iso.refl _) (by dsimp; simp))
+      fun X Y f => Quiver.Hom.unop_inj (ConeMorphism.ext _ _ (by dsimp; simp))
+  functor_unitIso_comp' c := by apply Quiver.Hom.unop_inj; ext; dsimp; apply comp_id
 #align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOp
 
 attribute [simps] cocone_equivalence_op_cone_op
@@ -1279,9 +1222,7 @@ def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_appₓ'. -/
 @[simp]
 theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
-    (coconeOfConeLeftOp c).ι.app j = (c.π.app (op j)).op :=
-  by
-  dsimp only [cocone_of_cone_left_op]
+    (coconeOfConeLeftOp c).ι.app j = (c.π.app (op j)).op := by dsimp only [cocone_of_cone_left_op];
   simp
 #align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_app
 
Diff
@@ -184,10 +184,7 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
 -/
 
 /- warning: category_theory.limits.cocone.w -> CategoryTheory.Limits.Cocone.w is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j') (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j') (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
 @[simp, reassoc]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
@@ -1022,10 +1019,7 @@ def mapConePostcompose {α : F ⟶ G} {c} :
 #align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcompose
 
 /- warning: category_theory.functor.map_cone_postcompose_equivalence_functor -> CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) G H} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G H α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctorₓ'. -/
 /-- `map_cone` commutes with `postcompose_equivalence`
 -/
@@ -1081,10 +1075,7 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
 #align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecompose
 
 /- warning: category_theory.functor.map_cocone_precompose_equivalence_functor -> CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
-but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) G H} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 H G α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctorₓ'. -/
 /-- `map_cocone` commutes with `precompose_equivalence`
 -/
@@ -1284,10 +1275,7 @@ def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
 -/
 
 /- warning: category_theory.limits.cocone_of_cone_left_op_ι_app -> CategoryTheory.Limits.coconeOfConeLeftOp_ι_app is a dubious translation:
-lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (Opposite.op.{succ u3} J j)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
-but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c))) (Opposite.op.{succ u3} J j)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_appₓ'. -/
 @[simp]
 theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
Diff
@@ -155,7 +155,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.w CategoryTheory.Limits.Cone.wₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
     c.π.app j ≫ F.map f = c.π.app j' :=
   by
@@ -189,7 +189,7 @@ lean 3 declaration is
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j') (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
-@[simp, reassoc.1]
+@[simp, reassoc]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j :=
   by
@@ -332,7 +332,7 @@ structure ConeMorphism (A B : Cone F) where
 
 restate_axiom cone_morphism.w'
 
-attribute [simp, reassoc.1] cone_morphism.w
+attribute [simp, reassoc] cone_morphism.w
 
 #print CategoryTheory.Limits.inhabitedConeMorphism /-
 instance inhabitedConeMorphism (A : Cone F) : Inhabited (ConeMorphism A A) :=
@@ -594,7 +594,7 @@ instance inhabitedCoconeMorphism (A : Cocone F) : Inhabited (CoconeMorphism A A)
 
 restate_axiom cocone_morphism.w'
 
-attribute [simp, reassoc.1] cocone_morphism.w
+attribute [simp, reassoc] cocone_morphism.w
 
 #print CategoryTheory.Limits.Cocone.category /-
 @[simps]
Diff
@@ -1177,7 +1177,7 @@ variable (F)
 lean 3 declaration is
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{succ (max u3 u4 u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Category.opposite.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
 but is expected to have type
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{succ (max (max u4 u3) u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.opposite.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{max (max (succ u4) (succ u3)) (succ u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.opposite.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOpₓ'. -/
 /-- The category of cocones on `F`
 is equivalent to the opposite category of
@@ -1215,7 +1215,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ
   counitIso :=
     NatIso.ofComponents
       (fun c => by
-        induction c using Opposite.rec
+        induction c using Opposite.rec'
         dsimp
         apply iso.op
         exact
Diff
@@ -859,84 +859,124 @@ variable {F : J ⥤ C} {G : J ⥤ C} (H : C ⥤ D)
 
 open CategoryTheory.Limits
 
-#print CategoryTheory.Functor.mapCone /-
+/- warning: category_theory.functor.map_cone -> CategoryTheory.Functor.mapCone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4), (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) -> (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3}, (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) -> (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone CategoryTheory.Functor.mapConeₓ'. -/
 /-- The image of a cone in C under a functor G : C ⥤ D is a cone in D. -/
 @[simps]
 def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
--/
 
-#print CategoryTheory.Functor.mapCocone /-
+/- warning: category_theory.functor.map_cocone -> CategoryTheory.Functor.mapCocone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4), (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) -> (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3}, (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) -> (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone CategoryTheory.Functor.mapCoconeₓ'. -/
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
 @[simps]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
--/
 
-#print CategoryTheory.Functor.mapConeMorphism /-
+/- warning: category_theory.functor.map_cone_morphism -> CategoryTheory.Functor.mapConeMorphism is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, (Quiver.Hom.{succ u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) c c') -> (Quiver.Hom.{succ u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H} {c' : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, (Quiver.Hom.{succ u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) c c') -> (Quiver.Hom.{succ u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphismₓ'. -/
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
 #align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphism
--/
 
-#print CategoryTheory.Functor.mapCoconeMorphism /-
+/- warning: category_theory.functor.map_cocone_morphism -> CategoryTheory.Functor.mapCoconeMorphism is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, (Quiver.Hom.{succ u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) c c') -> (Quiver.Hom.{succ u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, (Quiver.Hom.{succ u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) c c') -> (Quiver.Hom.{succ u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c'))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphismₓ'. -/
 /-- Given a cocone morphism `c ⟶ c'`, construct a cocone morphism on the mapped cocones
 functorially. -/
 def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.mapCocone c' :=
   (Cocones.functoriality F H).map f
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
--/
 
-#print CategoryTheory.Functor.mapConeInv /-
+/- warning: category_theory.functor.map_cone_inv -> CategoryTheory.Functor.mapConeInv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 H], (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) -> (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F)
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 F], (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) -> (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInvₓ'. -/
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
--/
 
-#print CategoryTheory.Functor.mapConeMapConeInv /-
+/- warning: category_theory.functor.map_cone_map_cone_inv -> CategoryTheory.Functor.mapConeMapConeInv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F (CategoryTheory.Equivalence.functor.{u3, u2, u6, u5} D _inst_4 C _inst_3 (CategoryTheory.Functor.asEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H _inst_5)))) (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 c)) c
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max (max u5 u2) u4} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 c)) c
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInvₓ'. -/
 /-- `map_cone` is the left inverse to `map_cone_inv`. -/
 def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone (F ⋙ H)) :
     mapCone H (mapConeInv H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInv
--/
 
-#print CategoryTheory.Functor.mapConeInvMapCone /-
+/- warning: category_theory.functor.map_cone_inv_map_cone -> CategoryTheory.Functor.mapConeInvMapCone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H c)) c
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapConeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 (CategoryTheory.Functor.mapCone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F c)) c
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapConeₓ'. -/
 /-- `map_cone` is the right inverse to `map_cone_inv`. -/
 def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F) :
     mapConeInv H (mapCone H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
--/
 
-#print CategoryTheory.Functor.mapCoconeInv /-
+/- warning: category_theory.functor.map_cocone_inv -> CategoryTheory.Functor.mapCoconeInv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 H], (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) -> (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F)
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} [_inst_5 : CategoryTheory.IsEquivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4 F], (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) -> (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInvₓ'. -/
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
--/
 
-#print CategoryTheory.Functor.mapCoconeMapCoconeInv /-
+/- warning: category_theory.functor.map_cocone_map_cocone_inv -> CategoryTheory.Functor.mapCoconeMapCoconeInv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F (CategoryTheory.Equivalence.functor.{u3, u2, u6, u5} D _inst_4 C _inst_3 (CategoryTheory.Functor.asEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H _inst_5)))) (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 c)) c
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)), CategoryTheory.Iso.{u2, max (max u5 u2) u4} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 (CategoryTheory.Functor.comp.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H)) (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 c)) c
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInvₓ'. -/
 /-- `map_cocone` is the left inverse to `map_cocone_inv`. -/
 def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone (F ⋙ H)) :
     mapCocone H (mapCoconeInv H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInv
--/
 
-#print CategoryTheory.Functor.mapCoconeInvMapCocone /-
+/- warning: category_theory.functor.map_cocone_inv_map_cocone -> CategoryTheory.Functor.mapCoconeInvMapCocone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H _inst_5 (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 F H c)) c
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 D _inst_4} (H : CategoryTheory.Functor.{u3, u2, u6, u5} D _inst_4 C _inst_3) [_inst_5 : CategoryTheory.IsEquivalence.{u3, u2, u6, u5} D _inst_4 C _inst_3 H] (c : CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F), CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 F) (CategoryTheory.Functor.mapCoconeInv.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F _inst_5 (CategoryTheory.Functor.mapCocone.{u1, u3, u2, u4, u6, u5} J _inst_1 D _inst_4 C _inst_3 H F c)) c
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCoconeₓ'. -/
 /-- `map_cocone` is the right inverse to `map_cocone_inv`. -/
 def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone F) :
     mapCoconeInv H (mapCocone H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCocone
--/
 
 #print CategoryTheory.Functor.functorialityCompPostcompose /-
 /-- `functoriality F _ ⋙ postcompose (whisker_left F _)` simplifies to `functoriality F _`. -/
@@ -951,7 +991,7 @@ def functorialityCompPostcompose {H H' : C ⥤ D} (α : H ≅ H') :
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H' F c)
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapConeₓ'. -/
 /-- For `F : J ⥤ C`, given a cone `c : cone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the postcomposition of the cone `H.map_cone` using the isomorphism `α` is
@@ -967,7 +1007,7 @@ def postcomposeWhiskerLeftMapCone {H H' : C ⥤ D} (α : H ≅ H') (c : Cone F)
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) G H} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G H α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcomposeₓ'. -/
 /--
 `map_cone` commutes with `postcompose`. In particular, for `F : J ⥤ C`, given a cone `c : cone F`, a
@@ -985,7 +1025,7 @@ def mapConePostcompose {α : F ⟶ G} {c} :
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) G H} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G H α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G c))
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctorₓ'. -/
 /-- `map_cone` commutes with `postcompose_equivalence`
 -/
@@ -1010,7 +1050,7 @@ def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H' F c)
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCoconeₓ'. -/
 /--
 For `F : J ⥤ C`, given a cocone `c : cocone F`, and a natural isomorphism `α : H ≅ H'` for functors
@@ -1027,7 +1067,7 @@ def precomposeWhiskerLeftMapCocone {H H' : C ⥤ D} (α : H ≅ H') (c : Cocone
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) G H} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 H G α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecomposeₓ'. -/
 /-- `map_cocone` commutes with `precompose`. In particular, for `F : J ⥤ C`, given a cocone
 `c : cocone F`, a natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious
@@ -1044,7 +1084,7 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
 lean 3 declaration is
   forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
 but is expected to have type
-  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) G H} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 H) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 H G α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 H F) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 G H α F)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctorₓ'. -/
 /-- `map_cocone` commutes with `precompose_equivalence`
 -/
@@ -1055,16 +1095,25 @@ def mapCoconePrecomposeEquivalenceFunctor {α : F ≅ G} {c} :
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor
 
-#print CategoryTheory.Functor.mapConeWhisker /-
+/- warning: category_theory.functor.map_cone_whisker -> CategoryTheory.Functor.mapConeWhisker is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] {F : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cone.{u1, u3, u5, u7} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u4, max u6 u8 u4} (CategoryTheory.Limits.Cone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Limits.Cone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Functor.mapCone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H (CategoryTheory.Limits.Cone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 F E c)) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H) E (CategoryTheory.Functor.mapCone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
+but is expected to have type
+  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] (F : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cone.{u1, u3, u5, u7} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u4, max (max u8 u4) u6} (CategoryTheory.Limits.Cone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Limits.Cone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Functor.mapCone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 F (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 H E c)) (CategoryTheory.Limits.Cone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 H F) E (CategoryTheory.Functor.mapCone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhiskerₓ'. -/
 /-- `map_cone` commutes with `whisker`
 -/
 @[simps]
 def mapConeWhisker {E : K ⥤ J} {c : Cone F} : H.mapCone (c.whisker E) ≅ (H.mapCone c).whisker E :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhisker
--/
 
-#print CategoryTheory.Functor.mapCoconeWhisker /-
+/- warning: category_theory.functor.map_cocone_whisker -> CategoryTheory.Functor.mapCoconeWhisker is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] {F : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cocone.{u1, u3, u5, u7} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u4, max u6 u8 u4} (CategoryTheory.Limits.Cocone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Limits.Cocone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H)) (CategoryTheory.Functor.mapCocone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E F) H (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 F E c)) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H) E (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
+but is expected to have type
+  forall {J : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u1, u5} J] {K : Type.{u6}} [_inst_2 : CategoryTheory.Category.{u2, u6} K] {C : Type.{u7}} [_inst_3 : CategoryTheory.Category.{u3, u7} C] {D : Type.{u8}} [_inst_4 : CategoryTheory.Category.{u4, u8} D] (F : CategoryTheory.Functor.{u3, u4, u7, u8} C _inst_3 D _inst_4) {H : CategoryTheory.Functor.{u1, u3, u5, u7} J _inst_1 C _inst_3} {E : CategoryTheory.Functor.{u2, u1, u6, u5} K _inst_2 J _inst_1} {c : CategoryTheory.Limits.Cocone.{u1, u3, u5, u7} J _inst_1 C _inst_3 H}, CategoryTheory.Iso.{u4, max (max u8 u4) u6} (CategoryTheory.Limits.Cocone.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Limits.Cocone.category.{u2, u4, u6, u8} K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) F)) (CategoryTheory.Functor.mapCocone.{u2, u3, u4, u6, u7, u8} K _inst_2 C _inst_3 D _inst_4 F (CategoryTheory.Functor.comp.{u2, u1, u3, u6, u5, u7} K _inst_2 J _inst_1 C _inst_3 E H) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u3, u5, u6, u7} J _inst_1 K _inst_2 C _inst_3 H E c)) (CategoryTheory.Limits.Cocone.whisker.{u1, u2, u4, u5, u6, u8} J _inst_1 K _inst_2 D _inst_4 (CategoryTheory.Functor.comp.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 H F) E (CategoryTheory.Functor.mapCocone.{u1, u3, u4, u5, u7, u8} J _inst_1 C _inst_3 D _inst_4 F H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhiskerₓ'. -/
 /-- `map_cocone` commutes with `whisker`
 -/
 @[simps]
@@ -1072,7 +1121,6 @@ def mapCoconeWhisker {E : K ⥤ J} {c : Cocone F} :
     H.mapCocone (c.whisker E) ≅ (H.mapCocone c).whisker E :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhisker
--/
 
 end Functor
 
@@ -1367,21 +1415,29 @@ section
 
 variable (G : C ⥤ D)
 
-#print CategoryTheory.Functor.mapConeOp /-
+/- warning: category_theory.functor.map_cone_op -> CategoryTheory.Functor.mapConeOp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (t : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G t)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (t : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F t)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOpₓ'. -/
 /-- The opposite cocone of the image of a cone is the image of the opposite cocone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapConeOp (t : Cone F) : (G.mapCone t).op ≅ G.op.mapCocone t.op :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOp
--/
 
-#print CategoryTheory.Functor.mapCoconeOp /-
+/- warning: category_theory.functor.map_cocone_op -> CategoryTheory.Functor.mapCoconeOp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {t : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G t)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Limits.Cocone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (G : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {t : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G))) (CategoryTheory.Limits.Cocone.op.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F G) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G F t)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} (Opposite.{succ u4} J) (CategoryTheory.Category.opposite.{u1, u4} J _inst_1) (Opposite.{succ u5} C) (CategoryTheory.Category.opposite.{u2, u5} C _inst_3) (Opposite.{succ u6} D) (CategoryTheory.Category.opposite.{u3, u6} D _inst_4) (CategoryTheory.Functor.op.{u2, u3, u5, u6} C _inst_3 D _inst_4 G) (CategoryTheory.Functor.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.op.{u1, u2, u4, u5} J _inst_1 C _inst_3 F t))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOpₓ'. -/
 /-- The opposite cone of the image of a cocone is the image of the opposite cone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapCoconeOp {t : Cocone F} : (G.mapCocone t).op ≅ G.op.mapCone t.op :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOp
--/
 
 end
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Stephen Morgan, Scott Morrison, Floris van Doorn
 
 ! This file was ported from Lean 3 source module category_theory.limits.cones
-! leanprover-community/mathlib commit 1995c7bbdbb0adb1b6d5acdc654f6cf46ed96cfa
+! leanprover-community/mathlib commit ee05e9ce1322178f0c12004eb93c00d2c8c00ed2
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.Functor.ReflectsIsomorphisms
 /-!
 # Cones and cocones
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We define `cone F`, a cone over a functor `F`,
 and `F.cones : Cᵒᵖ ⥤ Type`, the functor associating to `X` the cones over `F` with cone point `X`.
 
Diff
@@ -134,21 +134,21 @@ attribute [local tidy] tactic.discrete_cases
 `cone F` is equivalent, via `cone.equiv` below, to `Σ X, F.cones.obj X`.
 -/
 structure Cone (F : J ⥤ C) where
-  x : C
+  pt : C
   π : (const J).obj X ⟶ F
 #align category_theory.limits.cone CategoryTheory.Limits.Cone
 -/
 
 #print CategoryTheory.Limits.inhabitedCone /-
 instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
-  ⟨{  x := F.obj ⟨⟨⟩⟩
+  ⟨{  pt := F.obj ⟨⟨⟩⟩
       π := { app := fun ⟨⟨⟩⟩ => 𝟙 _ } }⟩
 #align category_theory.limits.inhabited_cone CategoryTheory.Limits.inhabitedCone
 -/
 
 /- warning: category_theory.limits.cone.w -> CategoryTheory.Limits.Cone.w is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.w CategoryTheory.Limits.Cone.wₓ'. -/
@@ -168,21 +168,21 @@ theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
 `cocone F` is equivalent, via `cone.equiv` below, to `Σ X, F.cocones.obj X`.
 -/
 structure Cocone (F : J ⥤ C) where
-  x : C
+  pt : C
   ι : F ⟶ (const J).obj X
 #align category_theory.limits.cocone CategoryTheory.Limits.Cocone
 -/
 
 #print CategoryTheory.Limits.inhabitedCocone /-
 instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
-  ⟨{  x := F.obj ⟨⟨⟩⟩
+  ⟨{  pt := F.obj ⟨⟨⟩⟩
       ι := { app := fun ⟨⟨⟩⟩ => 𝟙 _ } }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 -/
 
 /- warning: category_theory.limits.cocone.w -> CategoryTheory.Limits.Cocone.w is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j') (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j') (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j') (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
@@ -210,9 +210,9 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
 @[simps]
 def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
     where
-  Hom c := ⟨op c.x, c.π⟩
+  Hom c := ⟨op c.pt, c.π⟩
   inv c :=
-    { x := c.1.unop
+    { pt := c.1.unop
       π := c.2 }
   hom_inv_id' := by
     ext1
@@ -226,21 +226,21 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
 
 /- warning: category_theory.limits.cone.extensions -> CategoryTheory.Limits.Cone.extensions is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u2) (succ u4), u4, max (succ u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensionsₓ'. -/
 /-- A map to the vertex of a cone naturally induces a cone by composition. -/
 @[simps]
-def extensions (c : Cone F) : yoneda.obj c.x ⋙ uliftFunctor.{u₁} ⟶ F.cones
+def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones
     where app X f := (const J).map f.down ≫ c.π
 #align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensions
 
 #print CategoryTheory.Limits.Cone.extend /-
 /-- A map to the vertex of a cone induces a cone by composition. -/
 @[simps]
-def extend (c : Cone F) {X : C} (f : X ⟶ c.x) : Cone F :=
-  { x
+def extend (c : Cone F) {X : C} (f : X ⟶ c.pt) : Cone F :=
+  { pt
     π := c.extensions.app (op X) ⟨f⟩ }
 #align category_theory.limits.cone.extend CategoryTheory.Limits.Cone.extend
 -/
@@ -250,7 +250,7 @@ def extend (c : Cone F) {X : C} (f : X ⟶ c.x) : Cone F :=
 @[simps]
 def whisker (E : K ⥤ J) (c : Cone F) : Cone (E ⋙ F)
     where
-  x := c.x
+  pt := c.pt
   π := whiskerLeft E c.π
 #align category_theory.limits.cone.whisker CategoryTheory.Limits.Cone.whisker
 -/
@@ -268,9 +268,9 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
 def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
     where
-  Hom c := ⟨c.x, c.ι⟩
+  Hom c := ⟨c.pt, c.ι⟩
   inv c :=
-    { x := c.1
+    { pt := c.1
       ι := c.2 }
   hom_inv_id' := by
     ext1
@@ -284,21 +284,21 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
 
 /- warning: category_theory.limits.cocone.extensions -> CategoryTheory.Limits.Cocone.extensions is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u4) (succ u2), u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3)) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensionsₓ'. -/
 /-- A map from the vertex of a cocone naturally induces a cocone by composition. -/
 @[simps]
-def extensions (c : Cocone F) : coyoneda.obj (op c.x) ⋙ uliftFunctor.{u₁} ⟶ F.cocones
+def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones
     where app X f := c.ι ≫ (const J).map f.down
 #align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensions
 
 #print CategoryTheory.Limits.Cocone.extend /-
 /-- A map from the vertex of a cocone induces a cocone by composition. -/
 @[simps]
-def extend (c : Cocone F) {X : C} (f : c.x ⟶ X) : Cocone F :=
-  { x
+def extend (c : Cocone F) {X : C} (f : c.pt ⟶ X) : Cocone F :=
+  { pt
     ι := c.extensions.app X ⟨f⟩ }
 #align category_theory.limits.cocone.extend CategoryTheory.Limits.Cocone.extend
 -/
@@ -310,7 +310,7 @@ version.
 @[simps]
 def whisker (E : K ⥤ J) (c : Cocone F) : Cocone (E ⋙ F)
     where
-  x := c.x
+  pt := c.pt
   ι := whiskerLeft E c.ι
 #align category_theory.limits.cocone.whisker CategoryTheory.Limits.Cocone.whisker
 -/
@@ -322,7 +322,7 @@ end Cocone
 commutes with the cone legs. -/
 @[ext]
 structure ConeMorphism (A B : Cone F) where
-  Hom : A.x ⟶ B.x
+  Hom : A.pt ⟶ B.pt
   w' : ∀ j : J, hom ≫ B.π.app j = A.π.app j := by obviously
 #align category_theory.limits.cone_morphism CategoryTheory.Limits.ConeMorphism
 -/
@@ -344,7 +344,7 @@ instance Cone.category : Category (Cone F)
     where
   Hom A B := ConeMorphism A B
   comp X Y Z f g := { Hom := f.Hom ≫ g.Hom }
-  id B := { Hom := 𝟙 B.x }
+  id B := { Hom := 𝟙 B.pt }
 #align category_theory.limits.cone.category CategoryTheory.Limits.Cone.category
 -/
 
@@ -352,7 +352,7 @@ namespace Cones
 
 /- warning: category_theory.limits.cones.ext -> CategoryTheory.Limits.Cones.ext is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.extₓ'. -/
@@ -360,7 +360,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
   isomorphism between their vertices which commutes with the cone
   maps. -/
 @[ext, simps]
-def ext {c c' : Cone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.π.app j = φ.Hom ≫ c'.π.app j) : c ≅ c'
+def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.π.app j = φ.Hom ≫ c'.π.app j) : c ≅ c'
     where
   Hom := { Hom := φ.Hom }
   inv :=
@@ -371,7 +371,7 @@ def ext {c c' : Cone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.π.app j = φ.Hom ≫
 #print CategoryTheory.Limits.Cones.eta /-
 /-- Eta rule for cones. -/
 @[simps]
-def eta (c : Cone F) : c ≅ ⟨c.x, c.π⟩ :=
+def eta (c : Cone F) : c ≅ ⟨c.pt, c.π⟩ :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.limits.cones.eta CategoryTheory.Limits.Cones.eta
 -/
@@ -394,7 +394,7 @@ Functorially postcompose a cone for `F` by a natural transformation `F ⟶ G` to
 def postcompose {G : J ⥤ C} (α : F ⟶ G) : Cone F ⥤ Cone G
     where
   obj c :=
-    { x := c.x
+    { pt := c.pt
       π := c.π ≫ α }
   map c₁ c₂ f := { Hom := f.Hom }
 #align category_theory.limits.cones.postcompose CategoryTheory.Limits.Cones.postcompose
@@ -495,7 +495,7 @@ variable (F)
 /-- Forget the cone structure and obtain just the cone point. -/
 @[simps]
 def forget : Cone F ⥤ C where
-  obj t := t.x
+  obj t := t.pt
   map s t f := f.Hom
 #align category_theory.limits.cones.forget CategoryTheory.Limits.Cones.forget
 -/
@@ -508,7 +508,7 @@ variable (G : C ⥤ D)
 def functoriality : Cone F ⥤ Cone (F ⋙ G)
     where
   obj A :=
-    { x := G.obj A.x
+    { pt := G.obj A.pt
       π :=
         { app := fun j => G.map (A.π.app j)
           naturality' := by intros <;> erw [← G.map_comp] <;> tidy } }
@@ -578,7 +578,7 @@ end Cones
 which commutes with the cocone legs. -/
 @[ext]
 structure CoconeMorphism (A B : Cocone F) where
-  Hom : A.x ⟶ B.x
+  Hom : A.pt ⟶ B.pt
   w' : ∀ j : J, A.ι.app j ≫ hom = B.ι.app j := by obviously
 #align category_theory.limits.cocone_morphism CategoryTheory.Limits.CoconeMorphism
 -/
@@ -599,7 +599,7 @@ instance Cocone.category : Category (Cocone F)
     where
   Hom A B := CoconeMorphism A B
   comp _ _ _ f g := { Hom := f.Hom ≫ g.Hom }
-  id B := { Hom := 𝟙 B.x }
+  id B := { Hom := 𝟙 B.pt }
 #align category_theory.limits.cocone.category CategoryTheory.Limits.Cocone.category
 -/
 
@@ -607,7 +607,7 @@ namespace Cocones
 
 /- warning: category_theory.limits.cocones.ext -> CategoryTheory.Limits.Cocones.ext is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.extₓ'. -/
@@ -615,7 +615,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.limits
   isomorphism between their vertices which commutes with the cocone
   maps. -/
 @[ext, simps]
-def ext {c c' : Cocone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.ι.app j ≫ φ.Hom = c'.ι.app j) : c ≅ c'
+def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.Hom = c'.ι.app j) : c ≅ c'
     where
   Hom := { Hom := φ.Hom }
   inv :=
@@ -626,7 +626,7 @@ def ext {c c' : Cocone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.ι.app j ≫ φ.Hom
 #print CategoryTheory.Limits.Cocones.eta /-
 /-- Eta rule for cocones. -/
 @[simps]
-def eta (c : Cocone F) : c ≅ ⟨c.x, c.ι⟩ :=
+def eta (c : Cocone F) : c ≅ ⟨c.pt, c.ι⟩ :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.limits.cocones.eta CategoryTheory.Limits.Cocones.eta
 -/
@@ -649,7 +649,7 @@ for `G`. -/
 def precompose {G : J ⥤ C} (α : G ⟶ F) : Cocone F ⥤ Cocone G
     where
   obj c :=
-    { x := c.x
+    { pt := c.pt
       ι := α ≫ c.ι }
   map c₁ c₂ f := { Hom := f.Hom }
 #align category_theory.limits.cocones.precompose CategoryTheory.Limits.Cocones.precompose
@@ -752,7 +752,7 @@ variable (F)
 /-- Forget the cocone structure and obtain just the cocone point. -/
 @[simps]
 def forget : Cocone F ⥤ C where
-  obj t := t.x
+  obj t := t.pt
   map s t f := f.Hom
 #align category_theory.limits.cocones.forget CategoryTheory.Limits.Cocones.forget
 -/
@@ -765,7 +765,7 @@ variable (G : C ⥤ D)
 def functoriality : Cocone F ⥤ Cocone (F ⋙ G)
     where
   obj A :=
-    { x := G.obj A.x
+    { pt := G.obj A.pt
       ι :=
         { app := fun j => G.map (A.ι.app j)
           naturality' := by intros <;> erw [← G.map_comp] <;> tidy } }
@@ -1084,8 +1084,9 @@ variable {F : J ⥤ C}
 #print CategoryTheory.Limits.Cocone.op /-
 /-- Change a `cocone F` into a `cone F.op`. -/
 @[simps]
-def Cocone.op (c : Cocone F) : Cone F.op where
-  x := op c.x
+def Cocone.op (c : Cocone F) : Cone F.op
+    where
+  pt := op c.pt
   π := NatTrans.op c.ι
 #align category_theory.limits.cocone.op CategoryTheory.Limits.Cocone.op
 -/
@@ -1094,7 +1095,7 @@ def Cocone.op (c : Cocone F) : Cone F.op where
 /-- Change a `cone F` into a `cocone F.op`. -/
 @[simps]
 def Cone.op (c : Cone F) : Cocone F.op where
-  x := op c.x
+  pt := op c.pt
   ι := NatTrans.op c.π
 #align category_theory.limits.cone.op CategoryTheory.Limits.Cone.op
 -/
@@ -1104,7 +1105,7 @@ def Cone.op (c : Cone F) : Cocone F.op where
 @[simps]
 def Cocone.unop (c : Cocone F.op) : Cone F
     where
-  x := unop c.x
+  pt := unop c.pt
   π := NatTrans.removeOp c.ι
 #align category_theory.limits.cocone.unop CategoryTheory.Limits.Cocone.unop
 -/
@@ -1114,7 +1115,7 @@ def Cocone.unop (c : Cocone F.op) : Cone F
 @[simps]
 def Cone.unop (c : Cone F.op) : Cocone F
     where
-  x := unop c.x
+  pt := unop c.pt
   ι := NatTrans.removeOp c.π
 #align category_theory.limits.cone.unop CategoryTheory.Limits.Cone.unop
 -/
@@ -1201,7 +1202,7 @@ variable {F : J ⥤ Cᵒᵖ}
         simpRhs := true })]
 def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F
     where
-  x := op c.x
+  pt := op c.pt
   π := NatTrans.removeLeftOp c.ι
 #align category_theory.limits.cone_of_cocone_left_op CategoryTheory.Limits.coneOfCoconeLeftOp
 -/
@@ -1213,7 +1214,7 @@ def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F
         simpRhs := true })]
 def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp
     where
-  x := unop c.x
+  pt := unop c.pt
   ι := NatTrans.leftOp c.π
 #align category_theory.limits.cocone_left_op_of_cone CategoryTheory.Limits.coconeLeftOpOfCone
 -/
@@ -1223,17 +1224,17 @@ def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp
   reduce the RHS using `expr.dsimp` and `expr.simp`, but for some reason the expression is not
   being simplified properly. -/
 /-- Change a cone on `F.left_op : Jᵒᵖ ⥤ C` to a cocone on `F : J ⥤ Cᵒᵖ`. -/
-@[simps x]
+@[simps pt]
 def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
     where
-  x := op c.x
+  pt := op c.pt
   ι := NatTrans.removeLeftOp c.π
 #align category_theory.limits.cocone_of_cone_left_op CategoryTheory.Limits.coconeOfConeLeftOp
 -/
 
 /- warning: category_theory.limits.cocone_of_cone_left_op_ι_app -> CategoryTheory.Limits.coconeOfConeLeftOp_ι_app is a dubious translation:
 lean 3 declaration is
-  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (Opposite.op.{succ u3} J j)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (Opposite.op.{succ u3} J j)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
 but is expected to have type
   forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c))) (Opposite.op.{succ u3} J j)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
 Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_appₓ'. -/
@@ -1252,7 +1253,7 @@ theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
         simpRhs := true })]
 def coneLeftOpOfCocone (c : Cocone F) : Cone F.leftOp
     where
-  x := unop c.x
+  pt := unop c.pt
   π := NatTrans.leftOp c.ι
 #align category_theory.limits.cone_left_op_of_cocone CategoryTheory.Limits.coneLeftOpOfCocone
 -/
@@ -1268,7 +1269,7 @@ variable {F : Jᵒᵖ ⥤ C}
 @[simps]
 def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F
     where
-  x := unop c.x
+  pt := unop c.pt
   π := NatTrans.removeRightOp c.ι
 #align category_theory.limits.cone_of_cocone_right_op CategoryTheory.Limits.coneOfCoconeRightOp
 -/
@@ -1278,7 +1279,7 @@ def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F
 @[simps]
 def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp
     where
-  x := op c.x
+  pt := op c.pt
   ι := NatTrans.rightOp c.π
 #align category_theory.limits.cocone_right_op_of_cone CategoryTheory.Limits.coconeRightOpOfCone
 -/
@@ -1288,7 +1289,7 @@ def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp
 @[simps]
 def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F
     where
-  x := unop c.x
+  pt := unop c.pt
   ι := NatTrans.removeRightOp c.π
 #align category_theory.limits.cocone_of_cone_right_op CategoryTheory.Limits.coconeOfConeRightOp
 -/
@@ -1298,7 +1299,7 @@ def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F
 @[simps]
 def coneRightOpOfCocone (c : Cocone F) : Cone F.rightOp
     where
-  x := op c.x
+  pt := op c.pt
   π := NatTrans.rightOp c.ι
 #align category_theory.limits.cone_right_op_of_cocone CategoryTheory.Limits.coneRightOpOfCocone
 -/
@@ -1314,7 +1315,7 @@ variable {F : Jᵒᵖ ⥤ Cᵒᵖ}
 @[simps]
 def coneOfCoconeUnop (c : Cocone F.unop) : Cone F
     where
-  x := op c.x
+  pt := op c.pt
   π := NatTrans.removeUnop c.ι
 #align category_theory.limits.cone_of_cocone_unop CategoryTheory.Limits.coneOfCoconeUnop
 -/
@@ -1324,7 +1325,7 @@ def coneOfCoconeUnop (c : Cocone F.unop) : Cone F
 @[simps]
 def coconeUnopOfCone (c : Cone F) : Cocone F.unop
     where
-  x := unop c.x
+  pt := unop c.pt
   ι := NatTrans.unop c.π
 #align category_theory.limits.cocone_unop_of_cone CategoryTheory.Limits.coconeUnopOfCone
 -/
@@ -1334,7 +1335,7 @@ def coconeUnopOfCone (c : Cone F) : Cocone F.unop
 @[simps]
 def coconeOfConeUnop (c : Cone F.unop) : Cocone F
     where
-  x := op c.x
+  pt := op c.pt
   ι := NatTrans.removeUnop c.π
 #align category_theory.limits.cocone_of_cone_unop CategoryTheory.Limits.coconeOfConeUnop
 -/
@@ -1344,7 +1345,7 @@ def coconeOfConeUnop (c : Cone F.unop) : Cocone F
 @[simps]
 def coneUnopOfCocone (c : Cocone F) : Cone F.unop
     where
-  x := unop c.x
+  pt := unop c.pt
   π := NatTrans.unop c.ι
 #align category_theory.limits.cone_unop_of_cocone CategoryTheory.Limits.coneUnopOfCocone
 -/
Diff
@@ -66,6 +66,7 @@ namespace Functor
 
 variable {J C} (F : J ⥤ C)
 
+#print CategoryTheory.Functor.cones /-
 /-- `F.cones` is the functor assigning to an object `X` the type of
 natural transformations from the constant functor with value `X` to `F`.
 An object representing this functor is a limit of `F`.
@@ -74,7 +75,9 @@ An object representing this functor is a limit of `F`.
 def cones : Cᵒᵖ ⥤ Type max u₁ v₃ :=
   (const J).op ⋙ yoneda.obj F
 #align category_theory.functor.cones CategoryTheory.Functor.cones
+-/
 
+#print CategoryTheory.Functor.cocones /-
 /-- `F.cocones` is the functor assigning to an object `X` the type of
 natural transformations from `F` to the constant functor with value `X`.
 An object corepresenting this functor is a colimit of `F`.
@@ -83,6 +86,7 @@ An object corepresenting this functor is a colimit of `F`.
 def cocones : C ⥤ Type max u₁ v₃ :=
   const J ⋙ coyoneda.obj (op F)
 #align category_theory.functor.cocones CategoryTheory.Functor.cocones
+-/
 
 end Functor
 
@@ -90,6 +94,7 @@ section
 
 variable (J C)
 
+#print CategoryTheory.cones /-
 /-- Functorially associated to each functor `J ⥤ C`, we have the `C`-presheaf consisting of
 cones with a given cone point.
 -/
@@ -99,7 +104,9 @@ def cones : (J ⥤ C) ⥤ Cᵒᵖ ⥤ Type max u₁ v₃
   obj := Functor.cones
   map F G f := whiskerLeft (const J).op (yoneda.map f)
 #align category_theory.cones CategoryTheory.cones
+-/
 
+#print CategoryTheory.cocones /-
 /-- Contravariantly associated to each functor `J ⥤ C`, we have the `C`-copresheaf consisting of
 cocones with a given cocone point.
 -/
@@ -109,6 +116,7 @@ def cocones : (J ⥤ C)ᵒᵖ ⥤ C ⥤ Type max u₁ v₃
   obj F := Functor.cocones (unop F)
   map F G f := whiskerLeft (const J) (coyoneda.map f)
 #align category_theory.cocones CategoryTheory.cocones
+-/
 
 end
 
@@ -118,6 +126,7 @@ section
 
 attribute [local tidy] tactic.discrete_cases
 
+#print CategoryTheory.Limits.Cone /-
 /-- A `c : cone F` is:
 * an object `c.X` and
 * a natural transformation `c.π : c.X ⟶ F` from the constant `c.X` functor to `F`.
@@ -128,12 +137,21 @@ structure Cone (F : J ⥤ C) where
   x : C
   π : (const J).obj X ⟶ F
 #align category_theory.limits.cone CategoryTheory.Limits.Cone
+-/
 
+#print CategoryTheory.Limits.inhabitedCone /-
 instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
   ⟨{  x := F.obj ⟨⟨⟩⟩
       π := { app := fun ⟨⟨⟩⟩ => 𝟙 _ } }⟩
 #align category_theory.limits.inhabited_cone CategoryTheory.Limits.inhabitedCone
+-/
 
+/- warning: category_theory.limits.cone.w -> CategoryTheory.Limits.Cone.w is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.w CategoryTheory.Limits.Cone.wₓ'. -/
 @[simp, reassoc.1]
 theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
     c.π.app j ≫ F.map f = c.π.app j' :=
@@ -142,6 +160,7 @@ theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
   apply id_comp
 #align category_theory.limits.cone.w CategoryTheory.Limits.Cone.w
 
+#print CategoryTheory.Limits.Cocone /-
 /-- A `c : cocone F` is
 * an object `c.X` and
 * a natural transformation `c.ι : F ⟶ c.X` from `F` to the constant `c.X` functor.
@@ -152,12 +171,21 @@ structure Cocone (F : J ⥤ C) where
   x : C
   ι : F ⟶ (const J).obj X
 #align category_theory.limits.cocone CategoryTheory.Limits.Cocone
+-/
 
+#print CategoryTheory.Limits.inhabitedCocone /-
 instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   ⟨{  x := F.obj ⟨⟨⟩⟩
       ι := { app := fun ⟨⟨⟩⟩ => 𝟙 _ } }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
+-/
 
+/- warning: category_theory.limits.cocone.w -> CategoryTheory.Limits.Cocone.w is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j') (CategoryTheory.Functor.map.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) {j : J} {j' : J} (f : Quiver.Hom.{succ u1, u3} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) j j'), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j') (Prefunctor.map.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j j' f) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j')) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.wₓ'. -/
 @[simp, reassoc.1]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j :=
@@ -172,6 +200,12 @@ variable {F : J ⥤ C}
 
 namespace Cone
 
+/- warning: category_theory.limits.cone.equiv -> CategoryTheory.Limits.Cone.equiv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max u3 u4 u2, max (succ u3) (succ u4) (succ u2)} Sort.{max (succ u3) (succ u4) (succ u2)} CategoryTheory.types.{max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} (Opposite.{succ u4} C) (fun (X : Opposite.{succ u4} C) => CategoryTheory.Functor.obj.{u2, max u3 u2, u4, succ (max u3 u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) X))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max (max u3 u4) u2, max (max (succ u4) (succ u3)) (succ u2)} Sort.{max (max (succ u3) (succ u4)) (succ u2)} CategoryTheory.types.{max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} (Opposite.{succ u4} C) (fun (X : Opposite.{succ u4} C) => Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) Type.{max u3 u2} (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equivₓ'. -/
 /-- The isomorphism between a cone on `F` and an element of the functor `F.cones`. -/
 @[simps]
 def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
@@ -190,19 +224,28 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
     rfl
 #align category_theory.limits.cone.equiv CategoryTheory.Limits.Cone.equiv
 
+/- warning: category_theory.limits.cone.extensions -> CategoryTheory.Limits.Cone.extensions is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u2) (succ u4), u4, max (succ u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} C _inst_3 (CategoryTheory.Functor.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.yoneda.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensionsₓ'. -/
 /-- A map to the vertex of a cone naturally induces a cone by composition. -/
 @[simps]
 def extensions (c : Cone F) : yoneda.obj c.x ⋙ uliftFunctor.{u₁} ⟶ F.cones
     where app X f := (const J).map f.down ≫ c.π
 #align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensions
 
+#print CategoryTheory.Limits.Cone.extend /-
 /-- A map to the vertex of a cone induces a cone by composition. -/
 @[simps]
 def extend (c : Cone F) {X : C} (f : X ⟶ c.x) : Cone F :=
   { x
     π := c.extensions.app (op X) ⟨f⟩ }
 #align category_theory.limits.cone.extend CategoryTheory.Limits.Cone.extend
+-/
 
+#print CategoryTheory.Limits.Cone.whisker /-
 /-- Whisker a cone by precomposition of a functor. -/
 @[simps]
 def whisker (E : K ⥤ J) (c : Cone F) : Cone (E ⋙ F)
@@ -210,11 +253,18 @@ def whisker (E : K ⥤ J) (c : Cone F) : Cone (E ⋙ F)
   x := c.x
   π := whiskerLeft E c.π
 #align category_theory.limits.cone.whisker CategoryTheory.Limits.Cone.whisker
+-/
 
 end Cone
 
 namespace Cocone
 
+/- warning: category_theory.limits.cocone.equiv -> CategoryTheory.Limits.Cocone.equiv is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max u3 u4 u2, max (succ u3) (succ u4) (succ u2)} Sort.{max (succ u3) (succ u4) (succ u2)} CategoryTheory.types.{max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} C (fun (X : C) => CategoryTheory.Functor.obj.{u2, max u3 u2, u4, succ (max u3 u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) X))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Iso.{max (max u3 u4) u2, max (max (succ u4) (succ u3)) (succ u2)} Sort.{max (max (succ u3) (succ u4)) (succ u2)} CategoryTheory.types.{max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Sigma.{u4, max u3 u2} C (fun (X : C) => Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (succ u3) (succ u2)} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) Type.{max u3 u2} (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (succ u3) (succ u2)} Type.{max u3 u2} CategoryTheory.types.{max u3 u2})) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u3 u2} CategoryTheory.types.{max u3 u2} (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equivₓ'. -/
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
 def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
     where
@@ -232,19 +282,28 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
     rfl
 #align category_theory.limits.cocone.equiv CategoryTheory.Limits.Cocone.equiv
 
+/- warning: category_theory.limits.cocone.extensions -> CategoryTheory.Limits.Cocone.extensions is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{succ (max u4 u2 u3), max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2 u3, max u2 (max u2 u3) u4 (succ (max u2 u3))} (CategoryTheory.Functor.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u2 u3, u4, succ (max u2 u3)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u2 u3, u4, succ u2, succ (max u2 u3)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (CategoryTheory.Functor.obj.{u2, max u4 u2, u4, max u2 u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} (c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F), Quiver.Hom.{max (max (succ u3) (succ u4)) (succ u2), max (max (max (max (succ u3) (succ u2)) u4) u3 u2) u2} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (succ u3) u4) (succ u2)} (CategoryTheory.Functor.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}) (CategoryTheory.Functor.category.{u2, max u3 u2, u4, max (succ u3) (succ u2)} C _inst_3 Type.{max u2 u3} CategoryTheory.types.{max u2 u3}))) (CategoryTheory.Functor.comp.{u2, u2, max u3 u2, u4, succ u2, max (succ u3) (succ u2)} C _inst_3 Type.{u2} CategoryTheory.types.{u2} Type.{max u2 u3} CategoryTheory.types.{max u2 u3} (Prefunctor.obj.{succ u2, max (succ u4) (succ u2), u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 (succ u2)} (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}))) (CategoryTheory.Functor.toPrefunctor.{u2, max u4 u2, u4, max u4 (succ u2)} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.Functor.category.{u2, u2, u4, succ u2} C _inst_3 Type.{u2} CategoryTheory.types.{u2}) (CategoryTheory.coyoneda.{u2, u4} C _inst_3)) (Opposite.op.{succ u4} C (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) CategoryTheory.uliftFunctor.{u3, u2}) (CategoryTheory.Functor.cocones.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensionsₓ'. -/
 /-- A map from the vertex of a cocone naturally induces a cocone by composition. -/
 @[simps]
 def extensions (c : Cocone F) : coyoneda.obj (op c.x) ⋙ uliftFunctor.{u₁} ⟶ F.cocones
     where app X f := c.ι ≫ (const J).map f.down
 #align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensions
 
+#print CategoryTheory.Limits.Cocone.extend /-
 /-- A map from the vertex of a cocone induces a cocone by composition. -/
 @[simps]
 def extend (c : Cocone F) {X : C} (f : c.x ⟶ X) : Cocone F :=
   { x
     ι := c.extensions.app X ⟨f⟩ }
 #align category_theory.limits.cocone.extend CategoryTheory.Limits.Cocone.extend
+-/
 
+#print CategoryTheory.Limits.Cocone.whisker /-
 /-- Whisker a cocone by precomposition of a functor. See `whiskering` for a functorial
 version.
 -/
@@ -254,9 +313,11 @@ def whisker (E : K ⥤ J) (c : Cocone F) : Cocone (E ⋙ F)
   x := c.x
   ι := whiskerLeft E c.ι
 #align category_theory.limits.cocone.whisker CategoryTheory.Limits.Cocone.whisker
+-/
 
 end Cocone
 
+#print CategoryTheory.Limits.ConeMorphism /-
 /-- A cone morphism between two cones for the same diagram is a morphism of the cone points which
 commutes with the cone legs. -/
 @[ext]
@@ -264,15 +325,19 @@ structure ConeMorphism (A B : Cone F) where
   Hom : A.x ⟶ B.x
   w' : ∀ j : J, hom ≫ B.π.app j = A.π.app j := by obviously
 #align category_theory.limits.cone_morphism CategoryTheory.Limits.ConeMorphism
+-/
 
 restate_axiom cone_morphism.w'
 
 attribute [simp, reassoc.1] cone_morphism.w
 
+#print CategoryTheory.Limits.inhabitedConeMorphism /-
 instance inhabitedConeMorphism (A : Cone F) : Inhabited (ConeMorphism A A) :=
   ⟨{ Hom := 𝟙 _ }⟩
 #align category_theory.limits.inhabited_cone_morphism CategoryTheory.Limits.inhabitedConeMorphism
+-/
 
+#print CategoryTheory.Limits.Cone.category /-
 /-- The category of cones on a given diagram. -/
 @[simps]
 instance Cone.category : Category (Cone F)
@@ -281,9 +346,16 @@ instance Cone.category : Category (Cone F)
   comp X Y Z f g := { Hom := f.Hom ≫ g.Hom }
   id B := { Hom := 𝟙 B.x }
 #align category_theory.limits.cone.category CategoryTheory.Limits.Cone.category
+-/
 
 namespace Cones
 
+/- warning: category_theory.limits.cones.ext -> CategoryTheory.Limits.Cones.ext is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) F (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j))) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.extₓ'. -/
 /-- To give an isomorphism between cones, it suffices to give an
   isomorphism between their vertices which commutes with the cone
   maps. -/
@@ -296,12 +368,15 @@ def ext {c c' : Cone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.π.app j = φ.Hom ≫
       w' := fun j => φ.inv_comp_eq.mpr (w j) }
 #align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.ext
 
+#print CategoryTheory.Limits.Cones.eta /-
 /-- Eta rule for cones. -/
 @[simps]
 def eta (c : Cone F) : c ≅ ⟨c.x, c.π⟩ :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.limits.cones.eta CategoryTheory.Limits.Cones.eta
+-/
 
+#print CategoryTheory.Limits.Cones.cone_iso_of_hom_iso /-
 /-- Given a cone morphism whose object part is an isomorphism, produce an
 isomorphism of cones.
 -/
@@ -309,7 +384,9 @@ theorem cone_iso_of_hom_iso {K : J ⥤ C} {c d : Cone K} (f : c ⟶ d) [i : IsIs
   ⟨⟨{   Hom := inv f.Hom
         w' := fun j => (asIso f.Hom).inv_comp_eq.2 (f.w j).symm }, by tidy⟩⟩
 #align category_theory.limits.cones.cone_iso_of_hom_iso CategoryTheory.Limits.Cones.cone_iso_of_hom_iso
+-/
 
+#print CategoryTheory.Limits.Cones.postcompose /-
 /--
 Functorially postcompose a cone for `F` by a natural transformation `F ⟶ G` to give a cone for `G`.
 -/
@@ -321,7 +398,9 @@ def postcompose {G : J ⥤ C} (α : F ⟶ G) : Cone F ⥤ Cone G
       π := c.π ≫ α }
   map c₁ c₂ f := { Hom := f.Hom }
 #align category_theory.limits.cones.postcompose CategoryTheory.Limits.Cones.postcompose
+-/
 
+#print CategoryTheory.Limits.Cones.postcomposeComp /-
 /-- Postcomposing a cone by the composite natural transformation `α ≫ β` is the same as
 postcomposing by `α` and then by `β`. -/
 @[simps]
@@ -329,13 +408,22 @@ def postcomposeComp {G H : J ⥤ C} (α : F ⟶ G) (β : G ⟶ H) :
     postcompose (α ≫ β) ≅ postcompose α ⋙ postcompose β :=
   NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cones.postcompose_comp CategoryTheory.Limits.Cones.postcomposeComp
+-/
 
+#print CategoryTheory.Limits.Cones.postcomposeId /-
 /-- Postcomposing by the identity does not change the cone up to isomorphism. -/
 @[simps]
 def postcomposeId : postcompose (𝟙 F) ≅ 𝟭 (Cone F) :=
   NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cones.postcompose_id CategoryTheory.Limits.Cones.postcomposeId
+-/
 
+/- warning: category_theory.limits.cones.postcompose_equivalence -> CategoryTheory.Limits.Cones.postcomposeEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) F G) -> (CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) F G) -> (CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.postcompose_equivalence CategoryTheory.Limits.Cones.postcomposeEquivalenceₓ'. -/
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cones.
 -/
@@ -348,6 +436,7 @@ def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G
   counitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cones.postcompose_equivalence CategoryTheory.Limits.Cones.postcomposeEquivalence
 
+#print CategoryTheory.Limits.Cones.whiskering /-
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `cone F` to `cone (E ⋙ F)`.
 -/
 @[simps]
@@ -356,7 +445,14 @@ def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F)
   obj c := c.whisker E
   map c c' f := { Hom := f.Hom }
 #align category_theory.limits.cones.whiskering CategoryTheory.Limits.Cones.whiskering
+-/
 
+/- warning: category_theory.limits.cones.whiskering_equivalence -> CategoryTheory.Limits.Cones.whiskeringEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F)) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalenceₓ'. -/
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -377,6 +473,12 @@ def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.Functor ⋙ F)
       (by tidy)
 #align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalence
 
+/- warning: category_theory.limits.cones.equivalence_of_reindexing -> CategoryTheory.Limits.Cones.equivalenceOfReindexing is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), (CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), (CategoryTheory.Iso.{max u5 u3, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.equivalence_of_reindexing CategoryTheory.Limits.Cones.equivalenceOfReindexingₓ'. -/
 /-- The categories of cones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
 -/
@@ -389,15 +491,18 @@ section
 
 variable (F)
 
+#print CategoryTheory.Limits.Cones.forget /-
 /-- Forget the cone structure and obtain just the cone point. -/
 @[simps]
 def forget : Cone F ⥤ C where
   obj t := t.x
   map s t f := f.Hom
 #align category_theory.limits.cones.forget CategoryTheory.Limits.Cones.forget
+-/
 
 variable (G : C ⥤ D)
 
+#print CategoryTheory.Limits.Cones.functoriality /-
 /-- A functor `G : C ⥤ D` sends cones over `F` to cones over `F ⋙ G` functorially. -/
 @[simps]
 def functoriality : Cone F ⥤ Cone (F ⋙ G)
@@ -411,20 +516,31 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G)
     { Hom := G.map f.Hom
       w' := fun j => by simp [-cone_morphism.w, ← f.w j] }
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
+-/
 
+#print CategoryTheory.Limits.Cones.functorialityFull /-
 instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
+-/
 
-instance functoriality_faithful [Faithful G] : Faithful (Cones.functoriality F G)
+#print CategoryTheory.Limits.Cones.functorialityFaithful /-
+instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G)
     where map_injective' X Y f g e := by
     ext1
     injection e
     apply G.map_injective h_1
-#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functoriality_faithful
+#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
+-/
 
+/- warning: category_theory.limits.cones.functoriality_equivalence -> CategoryTheory.Limits.Cones.functorialityEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4), CategoryTheory.Equivalence.{u2, u3, max u4 u5 u2, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e))) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e)))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C D _inst_3 _inst_4), CategoryTheory.Equivalence.{u2, u3, max (max u5 u4) u2, max (max u6 u4) u3} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e))) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalenceₓ'. -/
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cones over `F` and cones over `F ⋙ e.functor`.
 -/
@@ -438,6 +554,7 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.Functor) :
     counitIso := NatIso.ofComponents (fun c => Cones.ext (e.counitIso.app _) (by tidy)) (by tidy) }
 #align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalence
 
+#print CategoryTheory.Limits.Cones.reflects_cone_isomorphism /-
 /-- If `F` reflects isomorphisms, then `cones.functoriality F` reflects isomorphisms
 as well.
 -/
@@ -450,11 +567,13 @@ instance reflects_cone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J
   haveI := reflects_isomorphisms.reflects F f.hom
   apply cone_iso_of_hom_iso
 #align category_theory.limits.cones.reflects_cone_isomorphism CategoryTheory.Limits.Cones.reflects_cone_isomorphism
+-/
 
 end
 
 end Cones
 
+#print CategoryTheory.Limits.CoconeMorphism /-
 /-- A cocone morphism between two cocones for the same diagram is a morphism of the cocone points
 which commutes with the cocone legs. -/
 @[ext]
@@ -462,15 +581,19 @@ structure CoconeMorphism (A B : Cocone F) where
   Hom : A.x ⟶ B.x
   w' : ∀ j : J, A.ι.app j ≫ hom = B.ι.app j := by obviously
 #align category_theory.limits.cocone_morphism CategoryTheory.Limits.CoconeMorphism
+-/
 
+#print CategoryTheory.Limits.inhabitedCoconeMorphism /-
 instance inhabitedCoconeMorphism (A : Cocone F) : Inhabited (CoconeMorphism A A) :=
   ⟨{ Hom := 𝟙 _ }⟩
 #align category_theory.limits.inhabited_cocone_morphism CategoryTheory.Limits.inhabitedCoconeMorphism
+-/
 
 restate_axiom cocone_morphism.w'
 
 attribute [simp, reassoc.1] cocone_morphism.w
 
+#print CategoryTheory.Limits.Cocone.category /-
 @[simps]
 instance Cocone.category : Category (Cocone F)
     where
@@ -478,9 +601,16 @@ instance Cocone.category : Category (Cocone F)
   comp _ _ _ f g := { Hom := f.Hom ≫ g.Hom }
   id B := { Hom := 𝟙 B.x }
 #align category_theory.limits.cocone.category CategoryTheory.Limits.Cocone.category
+-/
 
 namespace Cocones
 
+/- warning: category_theory.limits.cocones.ext -> CategoryTheory.Limits.Cocones.ext is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {c : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} {c' : CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F} (φ : CategoryTheory.Iso.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')), (forall (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.CategoryStruct.comp.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) j) (CategoryTheory.Iso.hom.{u2, u4} C _inst_3 (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') φ)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 C _inst_3 F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 C _inst_3)) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c')) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c') j)) -> (CategoryTheory.Iso.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c c')
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.extₓ'. -/
 /-- To give an isomorphism between cocones, it suffices to give an
   isomorphism between their vertices which commutes with the cocone
   maps. -/
@@ -493,12 +623,15 @@ def ext {c c' : Cocone F} (φ : c.x ≅ c'.x) (w : ∀ j, c.ι.app j ≫ φ.Hom
       w' := fun j => φ.comp_inv_eq.mpr (w j).symm }
 #align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.ext
 
+#print CategoryTheory.Limits.Cocones.eta /-
 /-- Eta rule for cocones. -/
 @[simps]
 def eta (c : Cocone F) : c ≅ ⟨c.x, c.ι⟩ :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.limits.cocones.eta CategoryTheory.Limits.Cocones.eta
+-/
 
+#print CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso /-
 /-- Given a cocone morphism whose object part is an isomorphism, produce an
 isomorphism of cocones.
 -/
@@ -507,7 +640,9 @@ theorem cocone_iso_of_hom_iso {K : J ⥤ C} {c d : Cocone K} (f : c ⟶ d) [i :
   ⟨⟨{   Hom := inv f.Hom
         w' := fun j => (asIso f.Hom).comp_inv_eq.2 (f.w j).symm }, by tidy⟩⟩
 #align category_theory.limits.cocones.cocone_iso_of_hom_iso CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso
+-/
 
+#print CategoryTheory.Limits.Cocones.precompose /-
 /-- Functorially precompose a cocone for `F` by a natural transformation `G ⟶ F` to give a cocone
 for `G`. -/
 @[simps]
@@ -518,19 +653,30 @@ def precompose {G : J ⥤ C} (α : G ⟶ F) : Cocone F ⥤ Cocone G
       ι := α ≫ c.ι }
   map c₁ c₂ f := { Hom := f.Hom }
 #align category_theory.limits.cocones.precompose CategoryTheory.Limits.Cocones.precompose
+-/
 
+#print CategoryTheory.Limits.Cocones.precomposeComp /-
 /-- Precomposing a cocone by the composite natural transformation `α ≫ β` is the same as
 precomposing by `β` and then by `α`. -/
 def precomposeComp {G H : J ⥤ C} (α : F ⟶ G) (β : G ⟶ H) :
     precompose (α ≫ β) ≅ precompose β ⋙ precompose α :=
   NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cocones.precompose_comp CategoryTheory.Limits.Cocones.precomposeComp
+-/
 
+#print CategoryTheory.Limits.Cocones.precomposeId /-
 /-- Precomposing by the identity does not change the cocone up to isomorphism. -/
 def precomposeId : precompose (𝟙 F) ≅ 𝟭 (Cocone F) :=
   NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cocones.precompose_id CategoryTheory.Limits.Cocones.precomposeId
+-/
 
+/- warning: category_theory.limits.cocones.precompose_equivalence -> CategoryTheory.Limits.Cocones.precomposeEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) G F) -> (CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3}, (CategoryTheory.Iso.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 C _inst_3) G F) -> (CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 G))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.precompose_equivalence CategoryTheory.Limits.Cocones.precomposeEquivalenceₓ'. -/
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
 cocones.
 -/
@@ -543,6 +689,7 @@ def precomposeEquivalence {G : J ⥤ C} (α : G ≅ F) : Cocone F ≌ Cocone G
   counitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by tidy)) (by tidy)
 #align category_theory.limits.cocones.precompose_equivalence CategoryTheory.Limits.Cocones.precomposeEquivalence
 
+#print CategoryTheory.Limits.Cocones.whiskering /-
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `cocone F` to `cocone (E ⋙ F)`.
 -/
 @[simps]
@@ -551,7 +698,14 @@ def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F)
   obj c := c.whisker E
   map c c' f := { Hom := f.Hom }
 #align category_theory.limits.cocones.whiskering CategoryTheory.Limits.Cocones.whiskering
+-/
 
+/- warning: category_theory.limits.cocones.whiskering_equivalence -> CategoryTheory.Limits.Cocones.whiskeringEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F)) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalenceₓ'. -/
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
@@ -575,6 +729,12 @@ def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.Functor ⋙ F)
       (by tidy)
 #align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalence
 
+/- warning: category_theory.limits.cocones.equivalence_of_reindexing -> CategoryTheory.Limits.Cocones.equivalenceOfReindexing is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K _inst_2 J _inst_1), (CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K _inst_2 J _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max u4 u6 u3, max u5 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {K : Type.{u5}} [_inst_2 : CategoryTheory.Category.{u2, u5} K] {C : Type.{u6}} [_inst_3 : CategoryTheory.Category.{u3, u6} C] {F : CategoryTheory.Functor.{u1, u3, u4, u6} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3} (e : CategoryTheory.Equivalence.{u2, u1, u5, u4} K J _inst_2 _inst_1), (CategoryTheory.Iso.{max u5 u3, max (max (max u6 u5) u3) u2} (CategoryTheory.Functor.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.category.{u2, u3, u5, u6} K _inst_2 C _inst_3) (CategoryTheory.Functor.comp.{u2, u1, u3, u5, u4, u6} K _inst_2 J _inst_1 C _inst_3 (CategoryTheory.Equivalence.functor.{u2, u1, u5, u4} K J _inst_2 _inst_1 e) F) G) -> (CategoryTheory.Equivalence.{u3, u3, max (max u6 u4) u3, max (max u6 u5) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u2, u3, u5, u6} K _inst_2 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u2, u3, u5, u6} K _inst_2 C _inst_3 G))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.equivalence_of_reindexing CategoryTheory.Limits.Cocones.equivalenceOfReindexingₓ'. -/
 /--
 The categories of cocones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
 (possibly after changing the indexing category by an equivalence).
@@ -588,15 +748,18 @@ section
 
 variable (F)
 
+#print CategoryTheory.Limits.Cocones.forget /-
 /-- Forget the cocone structure and obtain just the cocone point. -/
 @[simps]
 def forget : Cocone F ⥤ C where
   obj t := t.x
   map s t f := f.Hom
 #align category_theory.limits.cocones.forget CategoryTheory.Limits.Cocones.forget
+-/
 
 variable (G : C ⥤ D)
 
+#print CategoryTheory.Limits.Cocones.functoriality /-
 /-- A functor `G : C ⥤ D` sends cocones over `F` to cocones over `F ⋙ G` functorially. -/
 @[simps]
 def functoriality : Cocone F ⥤ Cocone (F ⋙ G)
@@ -610,20 +773,31 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G)
     { Hom := G.map f.Hom
       w' := by intros <;> rw [← functor.map_comp, cocone_morphism.w] }
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
+-/
 
+#print CategoryTheory.Limits.Cocones.functorialityFull /-
 instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G)
     where preimage X Y t :=
     { Hom := G.preimage t.Hom
       w' := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
+-/
 
+#print CategoryTheory.Limits.Cocones.functoriality_faithful /-
 instance functoriality_faithful [Faithful G] : Faithful (functoriality F G)
     where map_injective' X Y f g e := by
     ext1
     injection e
     apply G.map_injective h_1
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
+-/
 
+/- warning: category_theory.limits.cocones.functoriality_equivalence -> CategoryTheory.Limits.Cocones.functorialityEquivalence is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C _inst_3 D _inst_4), CategoryTheory.Equivalence.{u2, u3, max u4 u5 u2, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e))) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C _inst_3 D _inst_4 e)))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] (F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (e : CategoryTheory.Equivalence.{u2, u3, u5, u6} C D _inst_3 _inst_4), CategoryTheory.Equivalence.{u2, u3, max (max u5 u4) u2, max (max u6 u4) u3} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F (CategoryTheory.Equivalence.functor.{u2, u3, u5, u6} C D _inst_3 _inst_4 e)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalenceₓ'. -/
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cocones over `F` and cocones over `F ⋙ e.functor`.
 -/
@@ -654,6 +828,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.Functo
         simp }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
+#print CategoryTheory.Limits.Cocones.reflects_cocone_isomorphism /-
 /-- If `F` reflects isomorphisms, then `cocones.functoriality F` reflects isomorphisms
 as well.
 -/
@@ -667,6 +842,7 @@ instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K :
   haveI := reflects_isomorphisms.reflects F f.hom
   apply cocone_iso_of_hom_iso
 #align category_theory.limits.cocones.reflects_cocone_isomorphism CategoryTheory.Limits.Cocones.reflects_cocone_isomorphism
+-/
 
 end
 
@@ -680,72 +856,100 @@ variable {F : J ⥤ C} {G : J ⥤ C} (H : C ⥤ D)
 
 open CategoryTheory.Limits
 
+#print CategoryTheory.Functor.mapCone /-
 /-- The image of a cone in C under a functor G : C ⥤ D is a cone in D. -/
 @[simps]
 def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
+-/
 
+#print CategoryTheory.Functor.mapCocone /-
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
 @[simps]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
+-/
 
+#print CategoryTheory.Functor.mapConeMorphism /-
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
 #align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphism
+-/
 
+#print CategoryTheory.Functor.mapCoconeMorphism /-
 /-- Given a cocone morphism `c ⟶ c'`, construct a cocone morphism on the mapped cocones
 functorially. -/
 def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.mapCocone c' :=
   (Cocones.functoriality F H).map f
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
+-/
 
+#print CategoryTheory.Functor.mapConeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
+-/
 
+#print CategoryTheory.Functor.mapConeMapConeInv /-
 /-- `map_cone` is the left inverse to `map_cone_inv`. -/
 def mapConeMapConeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone (F ⋙ H)) :
     mapCone H (mapConeInv H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cone_map_cone_inv CategoryTheory.Functor.mapConeMapConeInv
+-/
 
+#print CategoryTheory.Functor.mapConeInvMapCone /-
 /-- `map_cone` is the right inverse to `map_cone_inv`. -/
 def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F) :
     mapConeInv H (mapCone H c) ≅ c :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
+-/
 
+#print CategoryTheory.Functor.mapCoconeInv /-
 /-- If `H` is an equivalence, we invert `H.map_cone` and get a cone for `F` from a cone
 for `F ⋙ H`.-/
 def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
+-/
 
+#print CategoryTheory.Functor.mapCoconeMapCoconeInv /-
 /-- `map_cocone` is the left inverse to `map_cocone_inv`. -/
 def mapCoconeMapCoconeInv {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone (F ⋙ H)) :
     mapCocone H (mapCoconeInv H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).counitIso.app c
 #align category_theory.functor.map_cocone_map_cocone_inv CategoryTheory.Functor.mapCoconeMapCoconeInv
+-/
 
+#print CategoryTheory.Functor.mapCoconeInvMapCocone /-
 /-- `map_cocone` is the right inverse to `map_cocone_inv`. -/
 def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cocone F) :
     mapCoconeInv H (mapCocone H c) ≅ c :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).unitIso.symm.app c
 #align category_theory.functor.map_cocone_inv_map_cocone CategoryTheory.Functor.mapCoconeInvMapCocone
+-/
 
+#print CategoryTheory.Functor.functorialityCompPostcompose /-
 /-- `functoriality F _ ⋙ postcompose (whisker_left F _)` simplifies to `functoriality F _`. -/
 @[simps]
 def functorialityCompPostcompose {H H' : C ⥤ D} (α : H ≅ H') :
     Cones.functoriality F H ⋙ Cones.postcompose (whiskerLeft F α.Hom) ≅ Cones.functoriality F H' :=
   NatIso.ofComponents (fun c => Cones.ext (α.app _) (by tidy)) (by tidy)
 #align category_theory.functor.functoriality_comp_postcompose CategoryTheory.Functor.functorialityCompPostcompose
+-/
 
+/- warning: category_theory.functor.postcompose_whisker_left_map_cone -> CategoryTheory.Functor.postcomposeWhiskerLeftMapCone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H H' (CategoryTheory.Iso.hom.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapConeₓ'. -/
 /-- For `F : J ⥤ C`, given a cone `c : cone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the postcomposition of the cone `H.map_cone` using the isomorphism `α` is
 isomorphic to the cone `H'.map_cone`.
@@ -756,6 +960,12 @@ def postcomposeWhiskerLeftMapCone {H H' : C ⥤ D} (α : H ≅ H') (c : Cone F)
   (functorialityCompPostcompose α).app c
 #align category_theory.functor.postcompose_whisker_left_map_cone CategoryTheory.Functor.postcomposeWhiskerLeftMapCone
 
+/- warning: category_theory.functor.map_cone_postcompose -> CategoryTheory.Functor.mapConePostcompose is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcomposeₓ'. -/
 /--
 `map_cone` commutes with `postcompose`. In particular, for `F : J ⥤ C`, given a cone `c : cone F`, a
 natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious ways of producing
@@ -768,6 +978,12 @@ def mapConePostcompose {α : F ⟶ G} {c} :
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcompose
 
+/- warning: category_theory.functor.map_cone_postcompose_equivalence_functor -> CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 F G α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cones.postcomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)))) (CategoryTheory.Functor.mapCone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctorₓ'. -/
 /-- `map_cone` commutes with `postcompose_equivalence`
 -/
 @[simps]
@@ -777,6 +993,7 @@ def mapConePostcomposeEquivalenceFunctor {α : F ≅ G} {c} :
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor
 
+#print CategoryTheory.Functor.functorialityCompPrecompose /-
 /-- `functoriality F _ ⋙ precompose (whisker_left F _)` simplifies to `functoriality F _`. -/
 @[simps]
 def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
@@ -784,7 +1001,14 @@ def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
       Cocones.functoriality F H' :=
   NatIso.ofComponents (fun c => Cocones.ext (α.app _) (by tidy)) (by tidy)
 #align category_theory.functor.functoriality_comp_precompose CategoryTheory.Functor.functorialityCompPrecompose
+-/
 
+/- warning: category_theory.functor.precompose_whisker_left_map_cocone -> CategoryTheory.Functor.precomposeWhiskerLeftMapCocone is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max u2 u3 u5 u6} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} {H' : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4} (α : CategoryTheory.Iso.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H') (c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F), CategoryTheory.Iso.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H')) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H') (CategoryTheory.whiskerLeft.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F H' H (CategoryTheory.Iso.inv.{max u5 u3, max (max (max u5 u6) u2) u3} (CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) (CategoryTheory.Functor.category.{u2, u3, u5, u6} C _inst_3 D _inst_4) H H' α)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H c)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H' c)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCoconeₓ'. -/
 /--
 For `F : J ⥤ C`, given a cocone `c : cocone F`, and a natural isomorphism `α : H ≅ H'` for functors
 `H H' : C ⥤ D`, the precomposition of the cocone `H.map_cocone` using the isomorphism `α` is
@@ -796,6 +1020,12 @@ def precomposeWhiskerLeftMapCocone {H H' : C ⥤ D} (α : H ≅ H') (c : Cocone
   (functorialityCompPrecompose α).app c
 #align category_theory.functor.precompose_whisker_left_map_cocone CategoryTheory.Functor.precomposeWhiskerLeftMapCocone
 
+/- warning: category_theory.functor.map_cocone_precompose -> CategoryTheory.Functor.mapCoconePrecompose is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{succ (max u4 u2), max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : Quiver.Hom.{max (succ u4) (succ u2), max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3))) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precompose.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α)) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precompose.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.whiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecomposeₓ'. -/
 /-- `map_cocone` commutes with `precompose`. In particular, for `F : J ⥤ C`, given a cocone
 `c : cocone F`, a natural transformation `α : F ⟶ G` and a functor `H : C ⥤ D`, we have two obvious
 ways of producing a cocone over `G ⋙ H`, and they are both isomorphic.
@@ -807,6 +1037,12 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecompose
 
+/- warning: category_theory.functor.map_cocone_precompose_equivalence_functor -> CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max u1 u2 u4 u5} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (CategoryTheory.Functor.obj.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Equivalence.functor.{u2, u2, max u4 u5 u2, max u4 u5 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α)) c)) (CategoryTheory.Functor.obj.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Equivalence.functor.{u3, u3, max u4 u6 u3, max u4 u6 u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+but is expected to have type
+  forall {J : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u4} J] {C : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u2, u5} C] {D : Type.{u6}} [_inst_4 : CategoryTheory.Category.{u3, u6} D] {F : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} {G : CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3} (H : CategoryTheory.Functor.{u2, u3, u5, u6} C _inst_3 D _inst_4) {α : CategoryTheory.Iso.{max u4 u2, max (max (max u4 u5) u1) u2} (CategoryTheory.Functor.{u1, u2, u4, u5} J _inst_1 C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u4, u5} J _inst_1 C _inst_3) F G} {c : CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G}, CategoryTheory.Iso.{u3, max (max u6 u3) u4} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H (Prefunctor.obj.{succ u2, succ u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G))) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F))) (CategoryTheory.Functor.toPrefunctor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Equivalence.functor.{u2, u2, max (max u4 u5) u2, max (max u4 u5) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 G) (CategoryTheory.Limits.Cocone.category.{u1, u2, u4, u5} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u2, u4, u5} J _inst_1 C _inst_3 G F α))) c)) (Prefunctor.obj.{succ u3, succ u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)))) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.CategoryStruct.toQuiver.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Category.toCategoryStruct.{u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)))) (CategoryTheory.Functor.toPrefunctor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Equivalence.functor.{u3, u3, max (max u4 u6) u3, max (max u4 u6) u3} (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H)) (CategoryTheory.Limits.Cocone.category.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H)) (CategoryTheory.Limits.Cocones.precomposeEquivalence.{u1, u3, u4, u6} J _inst_1 D _inst_4 (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H) (CategoryTheory.Functor.comp.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 F H) (CategoryTheory.isoWhiskerRight.{u4, u1, u5, u2, u6, u3} J _inst_1 C _inst_3 D _inst_4 F G α H)))) (CategoryTheory.Functor.mapCocone.{u1, u2, u3, u4, u5, u6} J _inst_1 C _inst_3 D _inst_4 G H c))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctorₓ'. -/
 /-- `map_cocone` commutes with `precompose_equivalence`
 -/
 @[simps]
@@ -816,13 +1052,16 @@ def mapCoconePrecomposeEquivalenceFunctor {α : F ≅ G} {c} :
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor
 
+#print CategoryTheory.Functor.mapConeWhisker /-
 /-- `map_cone` commutes with `whisker`
 -/
 @[simps]
 def mapConeWhisker {E : K ⥤ J} {c : Cone F} : H.mapCone (c.whisker E) ≅ (H.mapCone c).whisker E :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhisker
+-/
 
+#print CategoryTheory.Functor.mapCoconeWhisker /-
 /-- `map_cocone` commutes with `whisker`
 -/
 @[simps]
@@ -830,6 +1069,7 @@ def mapCoconeWhisker {E : K ⥤ J} {c : Cocone F} :
     H.mapCocone (c.whisker E) ≅ (H.mapCocone c).whisker E :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhisker
+-/
 
 end Functor
 
@@ -841,20 +1081,25 @@ section
 
 variable {F : J ⥤ C}
 
+#print CategoryTheory.Limits.Cocone.op /-
 /-- Change a `cocone F` into a `cone F.op`. -/
 @[simps]
 def Cocone.op (c : Cocone F) : Cone F.op where
   x := op c.x
   π := NatTrans.op c.ι
 #align category_theory.limits.cocone.op CategoryTheory.Limits.Cocone.op
+-/
 
+#print CategoryTheory.Limits.Cone.op /-
 /-- Change a `cone F` into a `cocone F.op`. -/
 @[simps]
 def Cone.op (c : Cone F) : Cocone F.op where
   x := op c.x
   ι := NatTrans.op c.π
 #align category_theory.limits.cone.op CategoryTheory.Limits.Cone.op
+-/
 
+#print CategoryTheory.Limits.Cocone.unop /-
 /-- Change a `cocone F.op` into a `cone F`. -/
 @[simps]
 def Cocone.unop (c : Cocone F.op) : Cone F
@@ -862,7 +1107,9 @@ def Cocone.unop (c : Cocone F.op) : Cone F
   x := unop c.x
   π := NatTrans.removeOp c.ι
 #align category_theory.limits.cocone.unop CategoryTheory.Limits.Cocone.unop
+-/
 
+#print CategoryTheory.Limits.Cone.unop /-
 /-- Change a `cone F.op` into a `cocone F`. -/
 @[simps]
 def Cone.unop (c : Cone F.op) : Cocone F
@@ -870,9 +1117,16 @@ def Cone.unop (c : Cone F.op) : Cocone F
   x := unop c.x
   ι := NatTrans.removeOp c.π
 #align category_theory.limits.cone.unop CategoryTheory.Limits.Cone.unop
+-/
 
 variable (F)
 
+/- warning: category_theory.limits.cocone_equivalence_op_cone_op -> CategoryTheory.Limits.coconeEquivalenceOpConeOp is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max u3 u4 u2, max u3 u4 u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{succ (max u3 u4 u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Category.opposite.{u2, max u3 u4 u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] (F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 C _inst_3), CategoryTheory.Equivalence.{u2, u2, max (max u4 u3) u2, max (max u4 u3) u2} (CategoryTheory.Limits.Cocone.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.{succ (max (max u4 u3) u2)} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F))) (CategoryTheory.Limits.Cocone.category.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Category.opposite.{u2, max (max u3 u4) u2} (CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (CategoryTheory.Limits.Cone.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.op.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOpₓ'. -/
 /-- The category of cocones on `F`
 is equivalent to the opposite category of
 the category of cones on the opposite of `F`.
@@ -938,6 +1192,7 @@ section
 
 variable {F : J ⥤ Cᵒᵖ}
 
+#print CategoryTheory.Limits.coneOfCoconeLeftOp /-
 -- Here and below we only automatically generate the `@[simp]` lemma for the `X` field,
 -- as we can write a simpler `rfl` lemma for the components of the natural transformation by hand.
 /-- Change a cocone on `F.left_op : Jᵒᵖ ⥤ C` to a cocone on `F : J ⥤ Cᵒᵖ`. -/
@@ -949,7 +1204,9 @@ def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F
   x := op c.x
   π := NatTrans.removeLeftOp c.ι
 #align category_theory.limits.cone_of_cocone_left_op CategoryTheory.Limits.coneOfCoconeLeftOp
+-/
 
+#print CategoryTheory.Limits.coconeLeftOpOfCone /-
 /-- Change a cone on `F : J ⥤ Cᵒᵖ` to a cocone on `F.left_op : Jᵒᵖ ⥤ C`. -/
 @[simps (config :=
       { rhsMd := semireducible
@@ -959,7 +1216,9 @@ def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp
   x := unop c.x
   ι := NatTrans.leftOp c.π
 #align category_theory.limits.cocone_left_op_of_cone CategoryTheory.Limits.coconeLeftOpOfCone
+-/
 
+#print CategoryTheory.Limits.coconeOfConeLeftOp /-
 /- When trying use `@[simps]` to generate the `ι_app` field of this definition, `@[simps]` tries to
   reduce the RHS using `expr.dsimp` and `expr.simp`, but for some reason the expression is not
   being simplified properly. -/
@@ -970,7 +1229,14 @@ def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
   x := op c.x
   ι := NatTrans.removeLeftOp c.π
 #align category_theory.limits.cocone_of_cone_left_op CategoryTheory.Limits.coconeOfConeLeftOp
+-/
 
+/- warning: category_theory.limits.cocone_of_cone_left_op_ι_app -> CategoryTheory.Limits.coconeOfConeLeftOp_ι_app is a dubious translation:
+lean 3 declaration is
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F j) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Limits.Cocone.x.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (Opposite.op.{succ u3} J j)) (CategoryTheory.Functor.obj.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.obj.{u2, max u3 u2, u4, max u1 u2 u3 u4} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Limits.Cone.x.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
+but is expected to have type
+  forall {J : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} J] {C : Type.{u4}} [_inst_3 : CategoryTheory.Category.{u2, u4} C] {F : CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)} (c : CategoryTheory.Limits.Cone.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (j : J), Eq.{succ u2} (Quiver.Hom.{succ u2, u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F) j) (Prefunctor.obj.{succ u1, succ u2, u3, u4} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} J (CategoryTheory.Category.toCategoryStruct.{u1, u3} J _inst_1)) (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)))) j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} (Opposite.{succ u4} C) (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.toCategoryStruct.{u2, u4} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) (CategoryTheory.Functor.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.category.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3)) (CategoryTheory.Functor.const.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3))) (CategoryTheory.Limits.Cocone.pt.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c))) (CategoryTheory.Limits.Cocone.ι.{u1, u2, u3, u4} J _inst_1 (Opposite.{succ u4} C) (CategoryTheory.Category.opposite.{u2, u4} C _inst_3) F (CategoryTheory.Limits.coconeOfConeLeftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F c)) j) (Quiver.Hom.op.{u4, succ u2} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c))) (Opposite.op.{succ u3} J j)) (Prefunctor.obj.{succ u1, succ u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.toCategoryStruct.{u1, u3} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1))) C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F)) (Opposite.op.{succ u3} J j)) (CategoryTheory.NatTrans.app.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (Prefunctor.obj.{succ u2, max (succ u3) (succ u2), u4, max (max (max u3 u1) u2) u4} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u4} C (CategoryTheory.Category.toCategoryStruct.{u2, u4} C _inst_3)) (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u4, max (max (max u3 u1) u4) u2} C _inst_3 (CategoryTheory.Functor.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3) (CategoryTheory.Functor.const.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3)) (CategoryTheory.Limits.Cone.pt.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c)) (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) (CategoryTheory.Limits.Cone.π.{u1, u2, u3, u4} (Opposite.{succ u3} J) (CategoryTheory.Category.opposite.{u1, u3} J _inst_1) C _inst_3 (CategoryTheory.Functor.leftOp.{u1, u2, u3, u4} J _inst_1 C _inst_3 F) c) (Opposite.op.{succ u3} J j)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_appₓ'. -/
 @[simp]
 theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
     (coconeOfConeLeftOp c).ι.app j = (c.π.app (op j)).op :=
@@ -979,6 +1245,7 @@ theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
   simp
 #align category_theory.limits.cocone_of_cone_left_op_ι_app CategoryTheory.Limits.coconeOfConeLeftOp_ι_app
 
+#print CategoryTheory.Limits.coneLeftOpOfCocone /-
 /-- Change a cocone on `F : J ⥤ Cᵒᵖ` to a cone on `F.left_op : Jᵒᵖ ⥤ C`. -/
 @[simps (config :=
       { rhsMd := semireducible
@@ -988,6 +1255,7 @@ def coneLeftOpOfCocone (c : Cocone F) : Cone F.leftOp
   x := unop c.x
   π := NatTrans.leftOp c.ι
 #align category_theory.limits.cone_left_op_of_cocone CategoryTheory.Limits.coneLeftOpOfCocone
+-/
 
 end
 
@@ -995,6 +1263,7 @@ section
 
 variable {F : Jᵒᵖ ⥤ C}
 
+#print CategoryTheory.Limits.coneOfCoconeRightOp /-
 /-- Change a cocone on `F.right_op : J ⥤ Cᵒᵖ` to a cone on `F : Jᵒᵖ ⥤ C`. -/
 @[simps]
 def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F
@@ -1002,7 +1271,9 @@ def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F
   x := unop c.x
   π := NatTrans.removeRightOp c.ι
 #align category_theory.limits.cone_of_cocone_right_op CategoryTheory.Limits.coneOfCoconeRightOp
+-/
 
+#print CategoryTheory.Limits.coconeRightOpOfCone /-
 /-- Change a cone on `F : Jᵒᵖ ⥤ C` to a cocone on `F.right_op : Jᵒᵖ ⥤ C`. -/
 @[simps]
 def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp
@@ -1010,7 +1281,9 @@ def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp
   x := op c.x
   ι := NatTrans.rightOp c.π
 #align category_theory.limits.cocone_right_op_of_cone CategoryTheory.Limits.coconeRightOpOfCone
+-/
 
+#print CategoryTheory.Limits.coconeOfConeRightOp /-
 /-- Change a cone on `F.right_op : J ⥤ Cᵒᵖ` to a cocone on `F : Jᵒᵖ ⥤ C`. -/
 @[simps]
 def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F
@@ -1018,7 +1291,9 @@ def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F
   x := unop c.x
   ι := NatTrans.removeRightOp c.π
 #align category_theory.limits.cocone_of_cone_right_op CategoryTheory.Limits.coconeOfConeRightOp
+-/
 
+#print CategoryTheory.Limits.coneRightOpOfCocone /-
 /-- Change a cocone on `F : Jᵒᵖ ⥤ C` to a cone on `F.right_op : J ⥤ Cᵒᵖ`. -/
 @[simps]
 def coneRightOpOfCocone (c : Cocone F) : Cone F.rightOp
@@ -1026,6 +1301,7 @@ def coneRightOpOfCocone (c : Cocone F) : Cone F.rightOp
   x := op c.x
   π := NatTrans.rightOp c.ι
 #align category_theory.limits.cone_right_op_of_cocone CategoryTheory.Limits.coneRightOpOfCocone
+-/
 
 end
 
@@ -1033,6 +1309,7 @@ section
 
 variable {F : Jᵒᵖ ⥤ Cᵒᵖ}
 
+#print CategoryTheory.Limits.coneOfCoconeUnop /-
 /-- Change a cocone on `F.unop : J ⥤ C` into a cone on `F : Jᵒᵖ ⥤ Cᵒᵖ`. -/
 @[simps]
 def coneOfCoconeUnop (c : Cocone F.unop) : Cone F
@@ -1040,7 +1317,9 @@ def coneOfCoconeUnop (c : Cocone F.unop) : Cone F
   x := op c.x
   π := NatTrans.removeUnop c.ι
 #align category_theory.limits.cone_of_cocone_unop CategoryTheory.Limits.coneOfCoconeUnop
+-/
 
+#print CategoryTheory.Limits.coconeUnopOfCone /-
 /-- Change a cone on `F : Jᵒᵖ ⥤ Cᵒᵖ` into a cocone on `F.unop : J ⥤ C`. -/
 @[simps]
 def coconeUnopOfCone (c : Cone F) : Cocone F.unop
@@ -1048,7 +1327,9 @@ def coconeUnopOfCone (c : Cone F) : Cocone F.unop
   x := unop c.x
   ι := NatTrans.unop c.π
 #align category_theory.limits.cocone_unop_of_cone CategoryTheory.Limits.coconeUnopOfCone
+-/
 
+#print CategoryTheory.Limits.coconeOfConeUnop /-
 /-- Change a cone on `F.unop : J ⥤ C` into a cocone on `F : Jᵒᵖ ⥤ Cᵒᵖ`. -/
 @[simps]
 def coconeOfConeUnop (c : Cone F.unop) : Cocone F
@@ -1056,7 +1337,9 @@ def coconeOfConeUnop (c : Cone F.unop) : Cocone F
   x := op c.x
   ι := NatTrans.removeUnop c.π
 #align category_theory.limits.cocone_of_cone_unop CategoryTheory.Limits.coconeOfConeUnop
+-/
 
+#print CategoryTheory.Limits.coneUnopOfCocone /-
 /-- Change a cocone on `F : Jᵒᵖ ⥤ Cᵒᵖ` into a cone on `F.unop : J ⥤ C`. -/
 @[simps]
 def coneUnopOfCocone (c : Cocone F) : Cone F.unop
@@ -1064,6 +1347,7 @@ def coneUnopOfCocone (c : Cocone F) : Cone F.unop
   x := unop c.x
   π := NatTrans.unop c.ι
 #align category_theory.limits.cone_unop_of_cocone CategoryTheory.Limits.coneUnopOfCocone
+-/
 
 end
 
@@ -1079,17 +1363,21 @@ section
 
 variable (G : C ⥤ D)
 
+#print CategoryTheory.Functor.mapConeOp /-
 /-- The opposite cocone of the image of a cone is the image of the opposite cocone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapConeOp (t : Cone F) : (G.mapCone t).op ≅ G.op.mapCocone t.op :=
   Cocones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOp
+-/
 
+#print CategoryTheory.Functor.mapCoconeOp /-
 /-- The opposite cone of the image of a cocone is the image of the opposite cone. -/
 @[simps (config := { rhsMd := semireducible })]
 def mapCoconeOp {t : Cocone F} : (G.mapCocone t).op ≅ G.op.mapCone t.op :=
   Cones.ext (Iso.refl _) (by tidy)
 #align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOp
+-/
 
 end
 

Changes in mathlib4

mathlib3
mathlib4
chore(CategoryTheory): make Functor.Full a Prop (#12449)

Before this PR, Functor.Full contained the data of the preimage of maps by a full functor F. This PR makes Functor.Full a proposition. This is to prevent any diamond to appear.

The lemma Functor.image_preimage is also renamed Functor.map_preimage.

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -454,11 +454,11 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G) where
       w := fun j => by simp [-ConeMorphism.w, ← f.w j] }
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
 
-instance functorialityFull [G.Full] [G.Faithful] : (functoriality F G).Full where
-  preimage t :=
-    { hom := G.preimage t.hom
-      w := fun j => G.map_injective (by simpa using t.w j) }
-#align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
+instance functoriality_full [G.Full] [G.Faithful] : (functoriality F G).Full where
+  map_surjective t :=
+    ⟨{ hom := G.preimage t.hom
+       w := fun j => G.map_injective (by simpa using t.w j) }, by aesop_cat⟩
+#align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functoriality_full
 
 instance functoriality_faithful [G.Faithful] : (Cones.functoriality F G).Faithful where
   map_injective {_X} {_Y} f g h :=
@@ -673,11 +673,11 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G) where
       w := by intros; rw [← Functor.map_comp, CoconeMorphism.w] }
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 
-instance functorialityFull [G.Full] [G.Faithful] : (functoriality F G).Full where
-  preimage t :=
-    { hom := G.preimage t.hom
-      w := fun j => G.map_injective (by simpa using t.w j) }
-#align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
+instance functoriality_full [G.Full] [G.Faithful] : (functoriality F G).Full where
+  map_surjective t :=
+    ⟨{ hom := G.preimage t.hom
+       w := fun j => G.map_injective (by simpa using t.w j) }, by aesop_cat⟩
+#align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functoriality_full
 
 instance functoriality_faithful [G.Faithful] : (functoriality F G).Faithful where
   map_injective {_X} {_Y} f g h :=
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

These notions on functors are now Functor.Full, Functor.Faithful, Functor.EssSurj, Functor.IsEquivalence, Functor.ReflectsIsomorphisms. Deprecated aliases are introduced for the previous names.

Diff
@@ -454,13 +454,13 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G) where
       w := fun j => by simp [-ConeMorphism.w, ← f.w j] }
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
 
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
+instance functorialityFull [G.Full] [G.Faithful] : (functoriality F G).Full where
   preimage t :=
     { hom := G.preimage t.hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
 
-instance functoriality_faithful [Faithful G] : Faithful (Cones.functoriality F G) where
+instance functoriality_faithful [G.Faithful] : (Cones.functoriality F G).Faithful where
   map_injective {_X} {_Y} f g h :=
     ConeMorphism.ext f g <| G.map_injective <| congr_arg ConeMorphism.hom h
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functoriality_faithful
@@ -481,8 +481,8 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.functor) :
 /-- If `F` reflects isomorphisms, then `Cones.functoriality F` reflects isomorphisms
 as well.
 -/
-instance reflects_cone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
-    ReflectsIsomorphisms (Cones.functoriality K F) := by
+instance reflects_cone_isomorphism (F : C ⥤ D) [F.ReflectsIsomorphisms] (K : J ⥤ C) :
+    (Cones.functoriality K F).ReflectsIsomorphisms := by
   constructor
   intro A B f _
   haveI : IsIso (F.map f.hom) :=
@@ -673,13 +673,13 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G) where
       w := by intros; rw [← Functor.map_comp, CoconeMorphism.w] }
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
+instance functorialityFull [G.Full] [G.Faithful] : (functoriality F G).Full where
   preimage t :=
     { hom := G.preimage t.hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
 
-instance functoriality_faithful [Faithful G] : Faithful (functoriality F G) where
+instance functoriality_faithful [G.Faithful] : (functoriality F G).Faithful where
   map_injective {_X} {_Y} f g h :=
     CoconeMorphism.ext f g <| G.map_injective <| congr_arg CoconeMorphism.hom h
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
@@ -700,8 +700,8 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
 /-- If `F` reflects isomorphisms, then `Cocones.functoriality F` reflects isomorphisms
 as well.
 -/
-instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
-    ReflectsIsomorphisms (Cocones.functoriality K F) := by
+instance reflects_cocone_isomorphism (F : C ⥤ D) [F.ReflectsIsomorphisms] (K : J ⥤ C) :
+    (Cocones.functoriality K F).ReflectsIsomorphisms := by
   constructor
   intro A B f _
   haveI : IsIso (F.map f.hom) :=
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -746,7 +746,7 @@ def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.map
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
 
 /-- If `H` is an equivalence, we invert `H.mapCone` and get a cone for `F` from a cone
-for `F ⋙ H`.-/
+for `F ⋙ H`. -/
 def mapConeInv [IsEquivalence H] (c : Cone (F ⋙ H)) : Cone F :=
   (Limits.Cones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cone_inv CategoryTheory.Functor.mapConeInv
@@ -764,7 +764,7 @@ def mapConeInvMapCone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Cone F)
 #align category_theory.functor.map_cone_inv_map_cone CategoryTheory.Functor.mapConeInvMapCone
 
 /-- If `H` is an equivalence, we invert `H.mapCone` and get a cone for `F` from a cone
-for `F ⋙ H`.-/
+for `F ⋙ H`. -/
 def mapCoconeInv [IsEquivalence H] (c : Cocone (F ⋙ H)) : Cocone F :=
   (Limits.Cocones.functorialityEquivalence F (asEquivalence H)).inverse.obj c
 #align category_theory.functor.map_cocone_inv CategoryTheory.Functor.mapCoconeInv
feat: add API for extension of cones (#11560)
Diff
@@ -335,6 +335,31 @@ theorem cone_iso_of_hom_iso {K : J ⥤ C} {c d : Cone K} (f : c ⟶ d) [i : IsIs
         w := fun j => (asIso f.hom).inv_comp_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
 #align category_theory.limits.cones.cone_iso_of_hom_iso CategoryTheory.Limits.Cones.cone_iso_of_hom_iso
 
+/-- There is a morphism from an extended cone to the original cone. -/
+@[simps]
+def extend (s : Cone F) {X : C} (f : X ⟶ s.pt) : s.extend f ⟶ s where
+  hom := f
+
+/-- Extending a cone by the identity does nothing. -/
+@[simps!]
+def extendId (s : Cone F) : s.extend (𝟙 s.pt) ≅ s :=
+  Cones.ext (Iso.refl _)
+
+/-- Extending a cone by a composition is the same as extending the cone twice. -/
+@[simps!]
+def extendComp (s : Cone F) {X Y : C} (f : X ⟶ Y) (g : Y ⟶ s.pt) :
+    s.extend (f ≫ g) ≅ (s.extend g).extend f :=
+  Cones.ext (Iso.refl _)
+
+/-- A cone extended by an isomorphism is isomorphic to the original cone. -/
+@[simps]
+def extendIso (s : Cone F) {X : C} (f : X ≅ s.pt) : s.extend f.hom ≅ s where
+  hom := { hom := f.hom }
+  inv := { hom := f.inv }
+
+instance {s : Cone F} {X : C} (f : X ⟶ s.pt) [IsIso f] : IsIso (Cones.extend s f) :=
+  ⟨(extendIso s (asIso f)).inv, by aesop_cat⟩
+
 /--
 Functorially postcompose a cone for `F` by a natural transformation `F ⟶ G` to give a cone for `G`.
 -/
@@ -532,6 +557,31 @@ theorem cocone_iso_of_hom_iso {K : J ⥤ C} {c d : Cocone K} (f : c ⟶ d) [i :
       w := fun j => (asIso f.hom).comp_inv_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
 #align category_theory.limits.cocones.cocone_iso_of_hom_iso CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso
 
+/-- There is a morphism from a cocone to its extension. -/
+@[simps]
+def extend (s : Cocone F) {X : C} (f : s.pt ⟶ X) : s ⟶ s.extend f where
+  hom := f
+
+/-- Extending a cocone by the identity does nothing. -/
+@[simps!]
+def extendId (s : Cocone F) : s ≅ s.extend (𝟙 s.pt) :=
+  Cocones.ext (Iso.refl _)
+
+/-- Extending a cocone by a composition is the same as extending the cone twice. -/
+@[simps!]
+def extendComp (s : Cocone F) {X Y : C} (f : s.pt ⟶ X) (g : X ⟶ Y) :
+    s.extend (f ≫ g) ≅ (s.extend f).extend g :=
+  Cocones.ext (Iso.refl _)
+
+/-- A cocone extended by an isomorphism is isomorphic to the original cone. -/
+@[simps]
+def extendIso (s : Cocone F) {X : C} (f : s.pt ≅ X) : s ≅ s.extend f.hom where
+  hom := { hom := f.hom }
+  inv := { hom := f.inv }
+
+instance {s : Cocone F} {X : C} (f : s.pt ⟶ X) [IsIso f] : IsIso (Cocones.extend s f) :=
+  ⟨(extendIso s (asIso f)).inv, by aesop_cat⟩
+
 /-- Functorially precompose a cocone for `F` by a natural transformation `G ⟶ F` to give a cocone
 for `G`. -/
 @[simps]
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
@@ -42,11 +42,8 @@ universe v₁ v₂ v₃ v₄ u₁ u₂ u₃ u₄
 open CategoryTheory
 
 variable {J : Type u₁} [Category.{v₁} J]
-
 variable {K : Type u₂} [Category.{v₂} K]
-
 variable {C : Type u₃} [Category.{v₃} C]
-
 variable {D : Type u₄} [Category.{v₄} D]
 
 open CategoryTheory
feat(CategoryTheory/Limits/Shapes/Biproducts): functoriality of bicones is full and faithful (#11130)

This follows the API pattern set by Cone and Cocone.

This also renames CategoryTheory.Limits.Cones.functorialityFaithful to CategoryTheory.Limits.Cones.functoriality_faithful to match the corresponding Cocone instance.

Diff
@@ -438,12 +438,10 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) wher
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
 
-instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G) where
-  map_injective {c} {c'} f g e := by
-    apply ConeMorphism.ext f g
-    let f := ConeMorphism.mk.inj e
-    apply G.map_injective f
-#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
+instance functoriality_faithful [Faithful G] : Faithful (Cones.functoriality F G) where
+  map_injective {_X} {_Y} f g h :=
+    ConeMorphism.ext f g <| G.map_injective <| congr_arg ConeMorphism.hom h
+#align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functoriality_faithful
 
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
 equivalence between cones over `F` and cones over `F ⋙ e.functor`.
@@ -635,10 +633,8 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) wher
 #align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
 
 instance functoriality_faithful [Faithful G] : Faithful (functoriality F G) where
-  map_injective {X} {Y} f g e := by
-    apply CoconeMorphism.ext
-    let h := CoconeMorphism.mk.inj e
-    apply G.map_injective h
+  map_injective {_X} {_Y} f g h :=
+    CoconeMorphism.ext f g <| G.map_injective <| congr_arg CoconeMorphism.hom h
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
 
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -455,8 +455,7 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.functor) :
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (postcomposeEquivalence f).functor
     unitIso := NatIso.ofComponents fun c => Cones.ext (e.unitIso.app _)
-    counitIso := NatIso.ofComponents fun c => Cones.ext (e.counitIso.app _)
-  }
+    counitIso := NatIso.ofComponents fun c => Cones.ext (e.counitIso.app _) }
 #align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalence
 
 /-- If `F` reflects isomorphisms, then `Cones.functoriality F` reflects isomorphisms
@@ -652,8 +651,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (precomposeEquivalence f.symm).functor
     unitIso := NatIso.ofComponents fun c => Cocones.ext (e.unitIso.app _)
-    counitIso :=
-      NatIso.ofComponents fun c => Cocones.ext (e.counitIso.app _) }
+    counitIso := NatIso.ofComponents fun c => Cocones.ext (e.counitIso.app _) }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
 /-- If `F` reflects isomorphisms, then `Cocones.functoriality F` reflects isomorphisms
chore: bump aesop; update syntax (#10955)

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

Diff
@@ -315,7 +315,7 @@ namespace Cones
   isomorphism between their vertices which commutes with the cone
   maps. -/
 -- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
-@[aesop apply safe (rule_sets [CategoryTheory]), simps]
+@[aesop apply safe (rule_sets := [CategoryTheory]), simps]
 def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt)
     (w : ∀ j, c.π.app j = φ.hom ≫ c'.π.app j := by aesop_cat) : c ≅ c' where
   hom := { hom := φ.hom }
@@ -514,7 +514,7 @@ namespace Cocones
   isomorphism between their vertices which commutes with the cocone
   maps. -/
 -- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
-@[aesop apply safe (rule_sets [CategoryTheory]), simps]
+@[aesop apply safe (rule_sets := [CategoryTheory]), simps]
 def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt)
     (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j := by aesop_cat) : c ≅ c' where
   hom := { hom := φ.hom }
chore: omit a proof in CategoryTheory/Limits/Cones that aesop now does (#10947)

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

Diff
@@ -653,11 +653,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (precomposeEquivalence f.symm).functor
     unitIso := NatIso.ofComponents fun c => Cocones.ext (e.unitIso.app _)
     counitIso :=
-      NatIso.ofComponents fun c => Cocones.ext (e.counitIso.app _)
-        (fun j =>
-          -- Unfortunately this doesn't work by `aesop_cat`.
-          -- In this configuration `simp` reaches a dead-end and needs help.
-          by simp [← Equivalence.counitInv_app_functor]) }
+      NatIso.ofComponents fun c => Cocones.ext (e.counitIso.app _) }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
 /-- If `F` reflects isomorphisms, then `Cocones.functoriality F` reflects isomorphisms
chore: classify simp can do this porting notes (#10619)

Classify by adding issue number (#10618) to porting notes claiming anything semantically equivalent to simp can prove this or simp can simplify this.

Diff
@@ -180,7 +180,7 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 
-@[reassoc] -- @[simp] -- Porting note: simp can prove this
+@[reassoc] -- @[simp] -- Porting note (#10618): simp can prove this
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j := by
   rw [c.ι.naturality f]
chore: fix some cases in names (#7469)

And fix some names in comments where this revealed issues

Diff
@@ -660,7 +660,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
           by simp [← Equivalence.counitInv_app_functor]) }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
-/-- If `F` reflects isomorphisms, then `cocones.functoriality F` reflects isomorphisms
+/-- If `F` reflects isomorphisms, then `Cocones.functoriality F` reflects isomorphisms
 as well.
 -/
 instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
chore: replace ConeMorphism.Hom by ConeMorphism.hom (#7176)
Diff
@@ -280,31 +280,31 @@ end Cocone
 commutes with the cone legs. -/
 structure ConeMorphism (A B : Cone F) where
   /-- A morphism between the two vertex objects of the cones -/
-  Hom : A.pt ⟶ B.pt
-  /-- The triangle consisting of the two natural transformations and `Hom` commutes -/
-  w : ∀ j : J, Hom ≫ B.π.app j = A.π.app j := by aesop_cat
+  hom : A.pt ⟶ B.pt
+  /-- The triangle consisting of the two natural transformations and `hom` commutes -/
+  w : ∀ j : J, hom ≫ B.π.app j = A.π.app j := by aesop_cat
 #align category_theory.limits.cone_morphism CategoryTheory.Limits.ConeMorphism
 #align category_theory.limits.cone_morphism.w' CategoryTheory.Limits.ConeMorphism.w
 
 attribute [reassoc (attr := simp)] ConeMorphism.w
 
 instance inhabitedConeMorphism (A : Cone F) : Inhabited (ConeMorphism A A) :=
-  ⟨{ Hom := 𝟙 _ }⟩
+  ⟨{ hom := 𝟙 _ }⟩
 #align category_theory.limits.inhabited_cone_morphism CategoryTheory.Limits.inhabitedConeMorphism
 
 /-- The category of cones on a given diagram. -/
 @[simps]
 instance Cone.category : Category (Cone F) where
   Hom A B := ConeMorphism A B
-  comp f g := { Hom := f.Hom ≫ g.Hom }
-  id B := { Hom := 𝟙 B.pt }
+  comp f g := { hom := f.hom ≫ g.hom }
+  id B := { hom := 𝟙 B.pt }
 #align category_theory.limits.cone.category CategoryTheory.Limits.Cone.category
 
 -- Porting note: if we do not have `simps` automatically generate the lemma for simplifying
--- the Hom field of a category, we need to write the `ext` lemma in terms of the categorical
+-- the hom field of a category, we need to write the `ext` lemma in terms of the categorical
 -- morphism, rather than the underlying structure.
 @[ext]
-theorem ConeMorphism.ext {c c' : Cone F} (f g : c ⟶ c') (w : f.Hom = g.Hom) : f = g := by
+theorem ConeMorphism.ext {c c' : Cone F} (f g : c ⟶ c') (w : f.hom = g.hom) : f = g := by
   cases f
   cases g
   congr
@@ -318,9 +318,9 @@ namespace Cones
 @[aesop apply safe (rule_sets [CategoryTheory]), simps]
 def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt)
     (w : ∀ j, c.π.app j = φ.hom ≫ c'.π.app j := by aesop_cat) : c ≅ c' where
-  hom := { Hom := φ.hom }
+  hom := { hom := φ.hom }
   inv :=
-    { Hom := φ.inv
+    { hom := φ.inv
       w := fun j => φ.inv_comp_eq.mpr (w j) }
 #align category_theory.limits.cones.ext CategoryTheory.Limits.Cones.ext
 
@@ -333,9 +333,9 @@ def eta (c : Cone F) : c ≅ ⟨c.pt, c.π⟩ :=
 /-- Given a cone morphism whose object part is an isomorphism, produce an
 isomorphism of cones.
 -/
-theorem cone_iso_of_hom_iso {K : J ⥤ C} {c d : Cone K} (f : c ⟶ d) [i : IsIso f.Hom] : IsIso f :=
-  ⟨⟨{   Hom := inv f.Hom
-        w := fun j => (asIso f.Hom).inv_comp_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
+theorem cone_iso_of_hom_iso {K : J ⥤ C} {c d : Cone K} (f : c ⟶ d) [i : IsIso f.hom] : IsIso f :=
+  ⟨⟨{   hom := inv f.hom
+        w := fun j => (asIso f.hom).inv_comp_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
 #align category_theory.limits.cones.cone_iso_of_hom_iso CategoryTheory.Limits.Cones.cone_iso_of_hom_iso
 
 /--
@@ -346,7 +346,7 @@ def postcompose {G : J ⥤ C} (α : F ⟶ G) : Cone F ⥤ Cone G where
   obj c :=
     { pt := c.pt
       π := c.π ≫ α }
-  map f := { Hom := f.Hom }
+  map f := { hom := f.hom }
 #align category_theory.limits.cones.postcompose CategoryTheory.Limits.Cones.postcompose
 
 /-- Postcomposing a cone by the composite natural transformation `α ≫ β` is the same as
@@ -379,7 +379,7 @@ def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G wher
 @[simps]
 def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F) where
   obj c := c.whisker E
-  map f := { Hom := f.Hom }
+  map f := { hom := f.hom }
 #align category_theory.limits.cones.whiskering CategoryTheory.Limits.Cones.whiskering
 
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
@@ -414,7 +414,7 @@ variable (F)
 @[simps]
 def forget : Cone F ⥤ C where
   obj t := t.pt
-  map f := f.Hom
+  map f := f.hom
 #align category_theory.limits.cones.forget CategoryTheory.Limits.Cones.forget
 
 variable (G : C ⥤ D)
@@ -428,13 +428,13 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G) where
         { app := fun j => G.map (A.π.app j)
           naturality := by intros; erw [← G.map_comp]; aesop_cat } }
   map f :=
-    { Hom := G.map f.Hom
+    { hom := G.map f.hom
       w := fun j => by simp [-ConeMorphism.w, ← f.w j] }
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
 
 instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
   preimage t :=
-    { Hom := G.preimage t.Hom
+    { hom := G.preimage t.hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
 
@@ -466,9 +466,9 @@ instance reflects_cone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J
     ReflectsIsomorphisms (Cones.functoriality K F) := by
   constructor
   intro A B f _
-  haveI : IsIso (F.map f.Hom) :=
+  haveI : IsIso (F.map f.hom) :=
     (Cones.forget (K ⋙ F)).map_isIso ((Cones.functoriality K F).map f)
-  haveI := ReflectsIsomorphisms.reflects F f.Hom
+  haveI := ReflectsIsomorphisms.reflects F f.hom
   apply cone_iso_of_hom_iso
 #align category_theory.limits.cones.reflects_cone_isomorphism CategoryTheory.Limits.Cones.reflects_cone_isomorphism
 
@@ -480,14 +480,14 @@ end Cones
 which commutes with the cocone legs. -/
 structure CoconeMorphism (A B : Cocone F) where
   /-- A morphism between the (co)vertex objects in `C` -/
-  Hom : A.pt ⟶ B.pt
-  /-- The triangle made from the two natural transformations and `Hom` commutes -/
-  w : ∀ j : J, A.ι.app j ≫ Hom = B.ι.app j := by aesop_cat
+  hom : A.pt ⟶ B.pt
+  /-- The triangle made from the two natural transformations and `hom` commutes -/
+  w : ∀ j : J, A.ι.app j ≫ hom = B.ι.app j := by aesop_cat
 #align category_theory.limits.cocone_morphism CategoryTheory.Limits.CoconeMorphism
 #align category_theory.limits.cocone_morphism.w' CategoryTheory.Limits.CoconeMorphism.w
 
 instance inhabitedCoconeMorphism (A : Cocone F) : Inhabited (CoconeMorphism A A) :=
-  ⟨{ Hom := 𝟙 _ }⟩
+  ⟨{ hom := 𝟙 _ }⟩
 #align category_theory.limits.inhabited_cocone_morphism CategoryTheory.Limits.inhabitedCoconeMorphism
 
 attribute [reassoc (attr := simp)] CoconeMorphism.w
@@ -495,15 +495,15 @@ attribute [reassoc (attr := simp)] CoconeMorphism.w
 @[simps]
 instance Cocone.category : Category (Cocone F) where
   Hom A B := CoconeMorphism A B
-  comp f g := { Hom := f.Hom ≫ g.Hom }
-  id B := { Hom := 𝟙 B.pt }
+  comp f g := { hom := f.hom ≫ g.hom }
+  id B := { hom := 𝟙 B.pt }
 #align category_theory.limits.cocone.category CategoryTheory.Limits.Cocone.category
 
 -- Porting note: if we do not have `simps` automatically generate the lemma for simplifying
--- the Hom field of a category, we need to write the `ext` lemma in terms of the categorical
+-- the hom field of a category, we need to write the `ext` lemma in terms of the categorical
 -- morphism, rather than the underlying structure.
 @[ext]
-theorem CoconeMorphism.ext {c c' : Cocone F} (f g : c ⟶ c') (w : f.Hom = g.Hom) : f = g := by
+theorem CoconeMorphism.ext {c c' : Cocone F} (f g : c ⟶ c') (w : f.hom = g.hom) : f = g := by
   cases f
   cases g
   congr
@@ -517,9 +517,9 @@ namespace Cocones
 @[aesop apply safe (rule_sets [CategoryTheory]), simps]
 def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt)
     (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j := by aesop_cat) : c ≅ c' where
-  hom := { Hom := φ.hom }
+  hom := { hom := φ.hom }
   inv :=
-    { Hom := φ.inv
+    { hom := φ.inv
       w := fun j => φ.comp_inv_eq.mpr (w j).symm }
 #align category_theory.limits.cocones.ext CategoryTheory.Limits.Cocones.ext
 
@@ -532,10 +532,10 @@ def eta (c : Cocone F) : c ≅ ⟨c.pt, c.ι⟩ :=
 /-- Given a cocone morphism whose object part is an isomorphism, produce an
 isomorphism of cocones.
 -/
-theorem cocone_iso_of_hom_iso {K : J ⥤ C} {c d : Cocone K} (f : c ⟶ d) [i : IsIso f.Hom] :
+theorem cocone_iso_of_hom_iso {K : J ⥤ C} {c d : Cocone K} (f : c ⟶ d) [i : IsIso f.hom] :
     IsIso f :=
-  ⟨⟨{ Hom := inv f.Hom
-      w := fun j => (asIso f.Hom).comp_inv_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
+  ⟨⟨{ hom := inv f.hom
+      w := fun j => (asIso f.hom).comp_inv_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
 #align category_theory.limits.cocones.cocone_iso_of_hom_iso CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso
 
 /-- Functorially precompose a cocone for `F` by a natural transformation `G ⟶ F` to give a cocone
@@ -545,7 +545,7 @@ def precompose {G : J ⥤ C} (α : G ⟶ F) : Cocone F ⥤ Cocone G where
   obj c :=
     { pt := c.pt
       ι := α ≫ c.ι }
-  map f := { Hom := f.Hom }
+  map f := { hom := f.hom }
 #align category_theory.limits.cocones.precompose CategoryTheory.Limits.Cocones.precompose
 
 /-- Precomposing a cocone by the composite natural transformation `α ≫ β` is the same as
@@ -576,7 +576,7 @@ def precomposeEquivalence {G : J ⥤ C} (α : G ≅ F) : Cocone F ≌ Cocone G w
 @[simps]
 def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F) where
   obj c := c.whisker E
-  map f := { Hom := f.Hom }
+  map f := { hom := f.hom }
 #align category_theory.limits.cocones.whiskering CategoryTheory.Limits.Cocones.whiskering
 
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
@@ -611,7 +611,7 @@ variable (F)
 @[simps]
 def forget : Cocone F ⥤ C where
   obj t := t.pt
-  map f := f.Hom
+  map f := f.hom
 #align category_theory.limits.cocones.forget CategoryTheory.Limits.Cocones.forget
 
 variable (G : C ⥤ D)
@@ -625,13 +625,13 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G) where
         { app := fun j => G.map (A.ι.app j)
           naturality := by intros; erw [← G.map_comp]; aesop_cat } }
   map f :=
-    { Hom := G.map f.Hom
+    { hom := G.map f.hom
       w := by intros; rw [← Functor.map_comp, CoconeMorphism.w] }
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 
 instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
   preimage t :=
-    { Hom := G.preimage t.Hom
+    { hom := G.preimage t.hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
 
@@ -667,9 +667,9 @@ instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K :
     ReflectsIsomorphisms (Cocones.functoriality K F) := by
   constructor
   intro A B f _
-  haveI : IsIso (F.map f.Hom) :=
+  haveI : IsIso (F.map f.hom) :=
     (Cocones.forget (K ⋙ F)).map_isIso ((Cocones.functoriality K F).map f)
-  haveI := ReflectsIsomorphisms.reflects F f.Hom
+  haveI := ReflectsIsomorphisms.reflects F f.hom
   apply cocone_iso_of_hom_iso
 #align category_theory.limits.cocones.reflects_cocone_isomorphism CategoryTheory.Limits.Cocones.reflects_cocone_isomorphism
 
@@ -885,7 +885,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
     { obj := fun c => op (Cocone.op c)
       map := fun {X} {Y} f =>
         Quiver.Hom.op
-          { Hom := f.Hom.op
+          { hom := f.hom.op
             w := fun j => by
               apply Quiver.Hom.unop_inj
               dsimp
@@ -893,7 +893,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
   inverse :=
     { obj := fun c => Cone.unop (unop c)
       map := fun {X} {Y} f =>
-        { Hom := f.unop.Hom.unop
+        { hom := f.unop.hom.unop
           w := fun j => by
             apply Quiver.Hom.op_inj
             dsimp
chore: remove unused simps (#6632)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -441,7 +441,7 @@ instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) wher
 instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G) where
   map_injective {c} {c'} f g e := by
     apply ConeMorphism.ext f g
-    let f := ConeMorphism.mk.inj e; dsimp [functoriality]
+    let f := ConeMorphism.mk.inj e
     apply G.map_injective f
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
 
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,17 +2,14 @@
 Copyright (c) 2017 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Stephen Morgan, Scott Morrison, Floris van Doorn
-
-! This file was ported from Lean 3 source module category_theory.limits.cones
-! leanprover-community/mathlib commit 740acc0e6f9adf4423f92a485d0456fc271482da
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Functor.Const
 import Mathlib.CategoryTheory.DiscreteCategory
 import Mathlib.CategoryTheory.Yoneda
 import Mathlib.CategoryTheory.Functor.ReflectsIso
 
+#align_import category_theory.limits.cones from "leanprover-community/mathlib"@"740acc0e6f9adf4423f92a485d0456fc271482da"
+
 /-!
 # Cones and cocones
 
feat: add examples to docstrings (#5815)
Diff
@@ -66,8 +66,8 @@ namespace Functor
 
 variable (F : J ⥤ C)
 
-/-- `F.cones` is the functor assigning to an object `X` the type of
-natural transformations from the constant functor with value `X` to `F`.
+/-- If `F : J ⥤ C` then `F.cones` is the functor assigning to an object `X : C` the
+type of natural transformations from the constant functor with value `X` to `F`.
 An object representing this functor is a limit of `F`.
 -/
 @[simps!]
@@ -75,8 +75,8 @@ def cones : Cᵒᵖ ⥤ Type max u₁ v₃ :=
   (const J).op ⋙ yoneda.obj F
 #align category_theory.functor.cones CategoryTheory.Functor.cones
 
-/-- `F.cocones` is the functor assigning to an object `X` the type of
-natural transformations from `F` to the constant functor with value `X`.
+/-- If `F : J ⥤ C` then `F.cocones` is the functor assigning to an object `(X : C)`
+the type of natural transformations from `F` to the constant functor with value `X`.
 An object corepresenting this functor is a colimit of `F`.
 -/
 @[simps!]
@@ -118,6 +118,10 @@ section
 * an object `c.pt` and
 * a natural transformation `c.π : c.pt ⟶ F` from the constant `c.pt` functor to `F`.
 
+Example: if `J` is a category coming from a poset then the data required to make
+a term of type `Cone F` is morphisms `πⱼ : c.pt ⟶ F j` for all `j : J` and,
+for all `i ≤ j` in `J`, morphisms `πᵢⱼ : F i ⟶ F j` such that `πᵢ ≫ πᵢⱼ = πᵢ`.
+
 `Cone F` is equivalent, via `cone.equiv` below, to `Σ X, F.cones.obj X`.
 -/
 structure Cone (F : J ⥤ C) where
@@ -152,6 +156,10 @@ theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
 * an object `c.pt` and
 * a natural transformation `c.ι : F ⟶ c.pt` from `F` to the constant `c.pt` functor.
 
+For example, if the source `J` of `F` is a partially ordered set, then to give
+`c : Cocone F` is to give a collection of morphisms `ιⱼ : F j ⟶ c.pt` and, for
+all `j ≤ k` in `J`, morphisms `ιⱼₖ : F j ⟶ F k` such that `Fⱼₖ ≫ Fₖ = Fⱼ` for all `j ≤ k`.
+
 `Cocone F` is equivalent, via `Cone.equiv` below, to `Σ X, F.cocones.obj X`.
 -/
 structure Cocone (F : J ⥤ C) where
chore: bump to nightly-2023-07-01 (#5409)

Open in Gitpod

Co-authored-by: Komyyy <pol_tta@outlook.jp> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -175,13 +175,15 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 
-@[reassoc (attr := simp 1001)]
+@[reassoc] -- @[simp] -- Porting note: simp can prove this
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j := by
   rw [c.ι.naturality f]
   apply comp_id
 #align category_theory.limits.cocone.w CategoryTheory.Limits.Cocone.w
 
+attribute [simp 1001] Cocone.w_assoc
+
 end
 
 variable {F : J ⥤ C}
@@ -190,8 +192,7 @@ namespace Cone
 
 /-- The isomorphism between a cone on `F` and an element of the functor `F.cones`. -/
 @[simps!]
-def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
-    where
+def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X where
   hom c := ⟨op c.pt, c.π⟩
   inv c :=
     { pt := c.1.unop
@@ -221,8 +222,7 @@ def extend (c : Cone F) {X : C} (f : X ⟶ c.pt) : Cone F :=
 
 /-- Whisker a cone by precomposition of a functor. -/
 @[simps]
-def whisker (E : K ⥤ J) (c : Cone F) : Cone (E ⋙ F)
-    where
+def whisker (E : K ⥤ J) (c : Cone F) : Cone (E ⋙ F) where
   pt := c.pt
   π := whiskerLeft E c.π
 #align category_theory.limits.cone.whisker CategoryTheory.Limits.Cone.whisker
@@ -232,8 +232,7 @@ end Cone
 namespace Cocone
 
 /-- The isomorphism between a cocone on `F` and an element of the functor `F.cocones`. -/
-def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
-    where
+def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X where
   hom c := ⟨c.pt, c.ι⟩
   inv c :=
     { pt := c.1
@@ -858,16 +857,14 @@ def Cone.op (c : Cone F) : Cocone F.op where
 
 /-- Change a `Cocone F.op` into a `Cone F`. -/
 @[simps]
-def Cocone.unop (c : Cocone F.op) : Cone F
-    where
+def Cocone.unop (c : Cocone F.op) : Cone F where
   pt := Opposite.unop c.pt
   π := NatTrans.removeOp c.ι
 #align category_theory.limits.cocone.unop CategoryTheory.Limits.Cocone.unop
 
 /-- Change a `Cone F.op` into a `Cocone F`. -/
 @[simps]
-def Cone.unop (c : Cone F.op) : Cocone F
-    where
+def Cone.unop (c : Cone F.op) : Cocone F where
   pt := Opposite.unop c.pt
   ι := NatTrans.removeOp c.π
 #align category_theory.limits.cone.unop CategoryTheory.Limits.Cone.unop
feat: pp_dot attribute to replace pp_extended_field_notation command (#5632)
Diff
@@ -682,21 +682,17 @@ variable (H : C ⥤ D) {F : J ⥤ C} {G : J ⥤ C}
 open CategoryTheory.Limits
 
 /-- The image of a cone in C under a functor G : C ⥤ D is a cone in D. -/
-@[simps!]
+@[simps!, pp_dot]
 def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
 
-pp_extended_field_notation Functor.mapCone
-
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
-@[simps!]
+@[simps!, pp_dot]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
 
-pp_extended_field_notation Functor.mapCocone
-
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
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
@@ -210,11 +210,6 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
 @[simps]
 def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones where
   app X f := (const J).map f.down ≫ c.π
-  naturality := by
-    intros X Y f
-    dsimp [yoneda,const]
-    funext X
-    aesop_cat
 #align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensions
 
 /-- A map to the vertex of a cone induces a cone by composition. -/
@@ -257,10 +252,6 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
 @[simps]
 def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones where
   app X f := c.ι ≫ (const J).map f.down
-  naturality := fun {X} {Y} f => by
-    dsimp [coyoneda,const]
-    funext X
-    aesop_cat
 #align category_theory.limits.cocone.extensions CategoryTheory.Limits.Cocone.extensions
 
 /-- A map from the vertex of a cocone induces a cocone by composition. -/
@@ -321,7 +312,8 @@ namespace Cones
   maps. -/
 -- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
 @[aesop apply safe (rule_sets [CategoryTheory]), simps]
-def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.π.app j = φ.hom ≫ c'.π.app j) : c ≅ c' where
+def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt)
+    (w : ∀ j, c.π.app j = φ.hom ≫ c'.π.app j := by aesop_cat) : c ≅ c' where
   hom := { Hom := φ.hom }
   inv :=
     { Hom := φ.inv
@@ -331,7 +323,7 @@ def ext {c c' : Cone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.π.app j = φ.hom 
 /-- Eta rule for cones. -/
 @[simps!]
 def eta (c : Cone F) : c ≅ ⟨c.pt, c.π⟩ :=
-  Cones.ext (Iso.refl _) (by aesop_cat)
+  Cones.ext (Iso.refl _)
 #align category_theory.limits.cones.eta CategoryTheory.Limits.Cones.eta
 
 /-- Given a cone morphism whose object part is an isomorphism, produce an
@@ -358,13 +350,13 @@ postcomposing by `α` and then by `β`. -/
 @[simps!]
 def postcomposeComp {G H : J ⥤ C} (α : F ⟶ G) (β : G ⟶ H) :
     postcompose (α ≫ β) ≅ postcompose α ⋙ postcompose β :=
-  NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun s => Cones.ext (Iso.refl _)
 #align category_theory.limits.cones.postcompose_comp CategoryTheory.Limits.Cones.postcomposeComp
 
 /-- Postcomposing by the identity does not change the cone up to isomorphism. -/
 @[simps!]
 def postcomposeId : postcompose (𝟙 F) ≅ 𝟭 (Cone F) :=
-  NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun s => Cones.ext (Iso.refl _)
 #align category_theory.limits.cones.postcompose_id CategoryTheory.Limits.Cones.postcomposeId
 
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
@@ -374,8 +366,8 @@ cones.
 def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G where
   functor := postcompose α.hom
   inverse := postcompose α.inv
-  unitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
-  counitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  unitIso := NatIso.ofComponents fun s => Cones.ext (Iso.refl _)
+  counitIso := NatIso.ofComponents fun s => Cones.ext (Iso.refl _)
 #align category_theory.limits.cones.postcompose_equivalence CategoryTheory.Limits.Cones.postcomposeEquivalence
 
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `Cone F` to `Cone (E ⋙ F)`.
@@ -392,17 +384,14 @@ def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F) where
 def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.functor ⋙ F) where
   functor := whiskering e.functor
   inverse := whiskering e.inverse ⋙ postcompose (e.invFunIdAssoc F).hom
-  unitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  unitIso := NatIso.ofComponents fun s => Cones.ext (Iso.refl _)
   counitIso :=
     NatIso.ofComponents
-      (fun s =>
+      fun s =>
         Cones.ext (Iso.refl _)
           (by
             intro k
-            dsimp
-            -- See library note [dsimp, simp]
-            simpa [e.counit_app_functor] using s.w (e.unitInv.app k)))
-      (by aesop_cat)
+            simpa [e.counit_app_functor] using s.w (e.unitInv.app k))
 #align category_theory.limits.cones.whiskering_equivalence CategoryTheory.Limits.Cones.whiskeringEquivalence
 
 /-- The categories of cones over `F` and `G` are equivalent if `F` and `G` are naturally isomorphic
@@ -461,10 +450,8 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.functor) :
     Functor.associator _ _ _ ≪≫ isoWhiskerLeft _ e.unitIso.symm ≪≫ Functor.rightUnitor _
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (postcomposeEquivalence f).functor
-    unitIso :=
-      NatIso.ofComponents (fun c => Cones.ext (e.unitIso.app _) (by aesop_cat)) (by aesop_cat)
-    counitIso :=
-      NatIso.ofComponents (fun c => Cones.ext (e.counitIso.app _) (by aesop_cat)) (by aesop_cat)
+    unitIso := NatIso.ofComponents fun c => Cones.ext (e.unitIso.app _)
+    counitIso := NatIso.ofComponents fun c => Cones.ext (e.counitIso.app _)
   }
 #align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalence
 
@@ -524,8 +511,8 @@ namespace Cocones
   maps. -/
 -- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
 @[aesop apply safe (rule_sets [CategoryTheory]), simps]
-def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j)
-    : c ≅ c' where
+def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt)
+    (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j := by aesop_cat) : c ≅ c' where
   hom := { Hom := φ.hom }
   inv :=
     { Hom := φ.inv
@@ -535,7 +522,7 @@ def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.ho
 /-- Eta rule for cocones. -/
 @[simps!]
 def eta (c : Cocone F) : c ≅ ⟨c.pt, c.ι⟩ :=
-  Cocones.ext (Iso.refl _) (by aesop_cat)
+  Cocones.ext (Iso.refl _)
 #align category_theory.limits.cocones.eta CategoryTheory.Limits.Cocones.eta
 
 /-- Given a cocone morphism whose object part is an isomorphism, produce an
@@ -543,8 +530,8 @@ isomorphism of cocones.
 -/
 theorem cocone_iso_of_hom_iso {K : J ⥤ C} {c d : Cocone K} (f : c ⟶ d) [i : IsIso f.Hom] :
     IsIso f :=
-  ⟨⟨{   Hom := inv f.Hom
-        w := fun j => (asIso f.Hom).comp_inv_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
+  ⟨⟨{ Hom := inv f.Hom
+      w := fun j => (asIso f.Hom).comp_inv_eq.2 (f.w j).symm }, by aesop_cat⟩⟩
 #align category_theory.limits.cocones.cocone_iso_of_hom_iso CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso
 
 /-- Functorially precompose a cocone for `F` by a natural transformation `G ⟶ F` to give a cocone
@@ -561,12 +548,12 @@ def precompose {G : J ⥤ C} (α : G ⟶ F) : Cocone F ⥤ Cocone G where
 precomposing by `β` and then by `α`. -/
 def precomposeComp {G H : J ⥤ C} (α : F ⟶ G) (β : G ⟶ H) :
     precompose (α ≫ β) ≅ precompose β ⋙ precompose α :=
-  NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun s => Cocones.ext (Iso.refl _)
 #align category_theory.limits.cocones.precompose_comp CategoryTheory.Limits.Cocones.precomposeComp
 
 /-- Precomposing by the identity does not change the cocone up to isomorphism. -/
 def precomposeId : precompose (𝟙 F) ≅ 𝟭 (Cocone F) :=
-  NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun s => Cocones.ext (Iso.refl _)
 #align category_theory.limits.cocones.precompose_id CategoryTheory.Limits.Cocones.precomposeId
 
 /-- If `F` and `G` are naturally isomorphic functors, then they have equivalent categories of
@@ -576,8 +563,8 @@ cocones.
 def precomposeEquivalence {G : J ⥤ C} (α : G ≅ F) : Cocone F ≌ Cocone G where
   functor := precompose α.hom
   inverse := precompose α.inv
-  unitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
-  counitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
+  unitIso := NatIso.ofComponents fun s => Cocones.ext (Iso.refl _)
+  counitIso := NatIso.ofComponents fun s => Cocones.ext (Iso.refl _)
 #align category_theory.limits.cocones.precompose_equivalence CategoryTheory.Limits.Cocones.precomposeEquivalence
 
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `Cocone F` to `Cocone (E ⋙ F)`.
@@ -598,15 +585,9 @@ def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.functor ⋙ F)
       precompose
         ((Functor.leftUnitor F).inv ≫
           whiskerRight e.counitIso.inv F ≫ (Functor.associator _ _ _).inv)
-  unitIso := NatIso.ofComponents (fun s => Cocones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
-  counitIso :=
-    NatIso.ofComponents
-      (fun s =>
-        Cocones.ext (Iso.refl _)
-          (by
-            intro k
-            simpa [e.counitInv_app_functor k] using s.w (e.unit.app k)))
-      (by aesop_cat)
+  unitIso := NatIso.ofComponents fun s => Cocones.ext (Iso.refl _)
+  counitIso := NatIso.ofComponents fun s =>
+    Cocones.ext (Iso.refl _) fun k => by simpa [e.counitInv_app_functor k] using s.w (e.unit.app k)
 #align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalence
 
 /--
@@ -642,8 +623,6 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G) where
   map f :=
     { Hom := G.map f.Hom
       w := by intros; rw [← Functor.map_comp, CoconeMorphism.w] }
-  map_id := by aesop_cat
-  map_comp := by aesop_cat
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 
 instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
@@ -668,18 +647,13 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
     Functor.associator _ _ _ ≪≫ isoWhiskerLeft _ e.unitIso.symm ≪≫ Functor.rightUnitor _
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (precomposeEquivalence f.symm).functor
-    unitIso :=
-      NatIso.ofComponents (fun c => Cocones.ext (e.unitIso.app _) (by aesop_cat)) (by aesop_cat)
+    unitIso := NatIso.ofComponents fun c => Cocones.ext (e.unitIso.app _)
     counitIso :=
-      NatIso.ofComponents
-        (fun c => Cocones.ext (e.counitIso.app _)
-            (by
-              -- Unfortunately this doesn't work by `aesop_cat`.
-              -- In this configuration `simp` reaches a dead-end and needs help.
-              intro j
-              simp [← Equivalence.counitInv_app_functor]))
-      (by aesop_cat)
-  }
+      NatIso.ofComponents fun c => Cocones.ext (e.counitIso.app _)
+        (fun j =>
+          -- Unfortunately this doesn't work by `aesop_cat`.
+          -- In this configuration `simp` reaches a dead-end and needs help.
+          by simp [← Equivalence.counitInv_app_functor]) }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
 /-- If `F` reflects isomorphisms, then `cocones.functoriality F` reflects isomorphisms
@@ -774,7 +748,7 @@ def mapCoconeInvMapCocone {F : J ⥤ D} (H : D ⥤ C) [IsEquivalence H] (c : Coc
 @[simps!]
 def functorialityCompPostcompose {H H' : C ⥤ D} (α : H ≅ H') :
     Cones.functoriality F H ⋙ Cones.postcompose (whiskerLeft F α.hom) ≅ Cones.functoriality F H' :=
-  NatIso.ofComponents (fun c => Cones.ext (α.app _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun c => Cones.ext (α.app _)
 #align category_theory.functor.functoriality_comp_postcompose CategoryTheory.Functor.functorialityCompPostcompose
 
 /-- For `F : J ⥤ C`, given a cone `c : Cone F`, and a natural isomorphism `α : H ≅ H'` for functors
@@ -796,7 +770,7 @@ a cone over `G ⋙ H`, and they are both isomorphic.
 def mapConePostcompose {α : F ⟶ G} {c} :
     mapCone H ((Cones.postcompose α).obj c) ≅
       (Cones.postcompose (whiskerRight α H : _)).obj (mapCone H c) :=
-  Cones.ext (Iso.refl _) (by aesop_cat)
+  Cones.ext (Iso.refl _)
 #align category_theory.functor.map_cone_postcompose CategoryTheory.Functor.mapConePostcompose
 
 /-- `mapCone` commutes with `postcomposeEquivalence`
@@ -805,7 +779,7 @@ def mapConePostcompose {α : F ⟶ G} {c} :
 def mapConePostcomposeEquivalenceFunctor {α : F ≅ G} {c} :
     mapCone H ((Cones.postcomposeEquivalence α).functor.obj c) ≅
       (Cones.postcomposeEquivalence (isoWhiskerRight α H : _)).functor.obj (mapCone H c) :=
-  Cones.ext (Iso.refl _) (by aesop_cat)
+  Cones.ext (Iso.refl _)
 #align category_theory.functor.map_cone_postcompose_equivalence_functor CategoryTheory.Functor.mapConePostcomposeEquivalenceFunctor
 
 /-- `functoriality F _ ⋙ precompose (whiskerLeft F _)` simplifies to `functoriality F _`. -/
@@ -813,7 +787,7 @@ def mapConePostcomposeEquivalenceFunctor {α : F ≅ G} {c} :
 def functorialityCompPrecompose {H H' : C ⥤ D} (α : H ≅ H') :
     Cocones.functoriality F H ⋙ Cocones.precompose (whiskerLeft F α.inv) ≅
       Cocones.functoriality F H' :=
-  NatIso.ofComponents (fun c => Cocones.ext (α.app _) (by aesop_cat)) (by aesop_cat)
+  NatIso.ofComponents fun c => Cocones.ext (α.app _)
 #align category_theory.functor.functoriality_comp_precompose CategoryTheory.Functor.functorialityCompPrecompose
 
 /--
@@ -835,7 +809,7 @@ ways of producing a cocone over `G ⋙ H`, and they are both isomorphic.
 def mapCoconePrecompose {α : F ⟶ G} {c} :
     mapCocone H ((Cocones.precompose α).obj c) ≅
       (Cocones.precompose (whiskerRight α H : _)).obj (mapCocone H c) :=
-  Cocones.ext (Iso.refl _) (by aesop_cat)
+  Cocones.ext (Iso.refl _)
 #align category_theory.functor.map_cocone_precompose CategoryTheory.Functor.mapCoconePrecompose
 
 /-- `mapCocone` commutes with `precomposeEquivalence`
@@ -844,14 +818,14 @@ def mapCoconePrecompose {α : F ⟶ G} {c} :
 def mapCoconePrecomposeEquivalenceFunctor {α : F ≅ G} {c} :
     mapCocone H ((Cocones.precomposeEquivalence α).functor.obj c) ≅
       (Cocones.precomposeEquivalence (isoWhiskerRight α H : _)).functor.obj (mapCocone H c) :=
-  Cocones.ext (Iso.refl _) (by aesop_cat)
+  Cocones.ext (Iso.refl _)
 #align category_theory.functor.map_cocone_precompose_equivalence_functor CategoryTheory.Functor.mapCoconePrecomposeEquivalenceFunctor
 
 /-- `mapCone` commutes with `whisker`
 -/
 @[simps!]
 def mapConeWhisker {E : K ⥤ J} {c : Cone F} : mapCone H (c.whisker E) ≅ (mapCone H c).whisker E :=
-  Cones.ext (Iso.refl _) (by aesop_cat)
+  Cones.ext (Iso.refl _)
 #align category_theory.functor.map_cone_whisker CategoryTheory.Functor.mapConeWhisker
 
 /-- `mapCocone` commutes with `whisker`
@@ -859,7 +833,7 @@ def mapConeWhisker {E : K ⥤ J} {c : Cone F} : mapCone H (c.whisker E) ≅ (map
 @[simps!]
 def mapCoconeWhisker {E : K ⥤ J} {c : Cocone F} :
     mapCocone H (c.whisker E) ≅ (mapCocone H c).whisker E :=
-  Cocones.ext (Iso.refl _) (by aesop_cat)
+  Cocones.ext (Iso.refl _)
 #align category_theory.functor.map_cocone_whisker CategoryTheory.Functor.mapCoconeWhisker
 
 end Functor
@@ -926,19 +900,13 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
             apply Quiver.Hom.op_inj
             dsimp
             apply ConeMorphism.w } }
-  unitIso :=
-    NatIso.ofComponents
-      (fun c => Cocones.ext (Iso.refl _) (by simp))
-      fun {X} {Y} f => by
-      apply CoconeMorphism.ext
-      simp
+  unitIso := NatIso.ofComponents (fun c => Cocones.ext (Iso.refl _))
   counitIso :=
     NatIso.ofComponents
       (fun c => by
-        induction c using Opposite.rec'
-        dsimp
+        induction c
         apply Iso.op
-        exact Cones.ext (Iso.refl _) (by simp))
+        exact Cones.ext (Iso.refl _))
       fun {X} {Y} f =>
       Quiver.Hom.unop_inj (ConeMorphism.ext _ _ (by simp))
   functor_unitIso_comp c := by
@@ -1080,14 +1048,14 @@ variable (G : C ⥤ D)
 -- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
 @[simps!]
 def mapConeOp (t : Cone F) : (mapCone G t).op ≅ mapCocone G.op t.op :=
-  Cocones.ext (Iso.refl _) (by aesop_cat)
+  Cocones.ext (Iso.refl _)
 #align category_theory.functor.map_cone_op CategoryTheory.Functor.mapConeOp
 
 /-- The opposite cone of the image of a cocone is the image of the opposite cone. -/
 -- Porting note: removed @[simps (config := { rhsMd := semireducible })] and replaced with
 @[simps!]
 def mapCoconeOp {t : Cocone F} : (mapCocone G t).op ≅ mapCone G.op t.op :=
-  Cones.ext (Iso.refl _) (by aesop_cat)
+  Cones.ext (Iso.refl _)
 #align category_theory.functor.map_cocone_op CategoryTheory.Functor.mapCoconeOp
 
 end
refactor: fixes to material on sheaves and stalks (#4571)

Mostly this is installing the Opposite.rec' induction principle as the default @[eliminator], but also many other fixes and removing unnecessary steps from proofs.

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

Diff
@@ -605,7 +605,6 @@ def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.functor ⋙ F)
         Cocones.ext (Iso.refl _)
           (by
             intro k
-            dsimp
             simpa [e.counitInv_app_functor k] using s.w (e.unit.app k)))
       (by aesop_cat)
 #align category_theory.limits.cocones.whiskering_equivalence CategoryTheory.Limits.Cocones.whiskeringEquivalence
@@ -673,19 +672,13 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
       NatIso.ofComponents (fun c => Cocones.ext (e.unitIso.app _) (by aesop_cat)) (by aesop_cat)
     counitIso :=
       NatIso.ofComponents
-        (fun c =>
-          Cocones.ext (e.counitIso.app _)
+        (fun c => Cocones.ext (e.counitIso.app _)
             (by
-              -- Unfortunately this doesn't work by `tidy`.
+              -- Unfortunately this doesn't work by `aesop_cat`.
               -- In this configuration `simp` reaches a dead-end and needs help.
               intro j
-              dsimp
-              simp only [← Equivalence.counitInv_app_functor, Iso.inv_hom_id_app, map_comp,
-                Equivalence.fun_inv_map, assoc, id_comp, Iso.inv_hom_id_app_assoc]
-              dsimp; simp))-- See note [dsimp, simp].
-      fun {c} {c'} f => by
-        apply CoconeMorphism.ext
-        simp
+              simp [← Equivalence.counitInv_app_functor]))
+      (by aesop_cat)
   }
 #align category_theory.limits.cocones.functoriality_equivalence CategoryTheory.Limits.Cocones.functorialityEquivalence
 
@@ -935,11 +928,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
             apply ConeMorphism.w } }
   unitIso :=
     NatIso.ofComponents
-      (fun c =>
-        Cocones.ext (Iso.refl _)
-          (by
-            dsimp
-            simp))
+      (fun c => Cocones.ext (Iso.refl _) (by simp))
       fun {X} {Y} f => by
       apply CoconeMorphism.ext
       simp
@@ -949,17 +938,9 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
         induction c using Opposite.rec'
         dsimp
         apply Iso.op
-        exact
-          Cones.ext (Iso.refl _)
-            (by
-              dsimp
-              simp))
+        exact Cones.ext (Iso.refl _) (by simp))
       fun {X} {Y} f =>
-      Quiver.Hom.unop_inj
-        (ConeMorphism.ext _ _
-          (by
-            dsimp
-            simp))
+      Quiver.Hom.unop_inj (ConeMorphism.ext _ _ (by simp))
   functor_unitIso_comp c := by
     apply Quiver.Hom.unop_inj
     apply ConeMorphism.ext
chore: fix typos (#4518)

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

Diff
@@ -286,7 +286,7 @@ commutes with the cone legs. -/
 structure ConeMorphism (A B : Cone F) where
   /-- A morphism between the two vertex objects of the cones -/
   Hom : A.pt ⟶ B.pt
-  /-- The triangle consisting of the two natural tranformations and `Hom` commutes -/
+  /-- The triangle consisting of the two natural transformations and `Hom` commutes -/
   w : ∀ j : J, Hom ≫ B.π.app j = A.π.app j := by aesop_cat
 #align category_theory.limits.cone_morphism CategoryTheory.Limits.ConeMorphism
 #align category_theory.limits.cone_morphism.w' CategoryTheory.Limits.ConeMorphism.w
feat: add some pp_extended_field_notations (#3592)

Add some pp_extended_field_notation, for opt-in cases with additional arguments.

Co-authored-by: Kyle Miller <kmill31415@gmail.com>

Diff
@@ -720,12 +720,16 @@ def mapCone (c : Cone F) : Cone (F ⋙ H) :=
   (Cones.functoriality F H).obj c
 #align category_theory.functor.map_cone CategoryTheory.Functor.mapCone
 
+pp_extended_field_notation Functor.mapCone
+
 /-- The image of a cocone in C under a functor G : C ⥤ D is a cocone in D. -/
 @[simps!]
 def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
 
+pp_extended_field_notation Functor.mapCocone
+
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
 def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
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
@@ -942,7 +942,7 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
   counitIso :=
     NatIso.ofComponents
       (fun c => by
-        induction c using Opposite.rec
+        induction c using Opposite.rec'
         dsimp
         apply Iso.op
         exact
@@ -970,13 +970,7 @@ end
 section
 
 variable {F : J ⥤ Cᵒᵖ}
-/- Porting note: removed a few simps configs
-`@[simps (config :=
-      { rhsMd := semireducible
-        simpRhs := true })]`
-and replace with `@[simps]`-/
--- Here and below we only automatically generate the `@[simp]` lemma for the `X` field,
--- as we can write a simpler `rfl` lemma for the components of the natural transformation by hand.
+
 /-- Change a cocone on `F.leftOp : Jᵒᵖ ⥤ C` to a cocone on `F : J ⥤ Cᵒᵖ`. -/
 @[simps!]
 def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F where
chore: forward port of #18742, no simps lemmas for Category.Hom (#3340)

This is the forward port of https://github.com/leanprover-community/mathlib/pull/18742. That PR hasn't landed yet, so this PR still needs to be updated with the new commit SHA.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Diff
@@ -283,7 +283,6 @@ end Cocone
 
 /-- A cone morphism between two cones for the same diagram is a morphism of the cone points which
 commutes with the cone legs. -/
-@[ext]
 structure ConeMorphism (A B : Cone F) where
   /-- A morphism between the two vertex objects of the cones -/
   Hom : A.pt ⟶ B.pt
@@ -306,6 +305,15 @@ instance Cone.category : Category (Cone F) where
   id B := { Hom := 𝟙 B.pt }
 #align category_theory.limits.cone.category CategoryTheory.Limits.Cone.category
 
+-- Porting note: if we do not have `simps` automatically generate the lemma for simplifying
+-- the Hom field of a category, we need to write the `ext` lemma in terms of the categorical
+-- morphism, rather than the underlying structure.
+@[ext]
+theorem ConeMorphism.ext {c c' : Cone F} (f g : c ⟶ c') (w : f.Hom = g.Hom) : f = g := by
+  cases f
+  cases g
+  congr
+
 namespace Cones
 
 /-- To give an isomorphism between cones, it suffices to give an
@@ -479,7 +487,6 @@ end Cones
 
 /-- A cocone morphism between two cocones for the same diagram is a morphism of the cocone points
 which commutes with the cocone legs. -/
-@[ext]
 structure CoconeMorphism (A B : Cocone F) where
   /-- A morphism between the (co)vertex objects in `C` -/
   Hom : A.pt ⟶ B.pt
@@ -501,6 +508,15 @@ instance Cocone.category : Category (Cocone F) where
   id B := { Hom := 𝟙 B.pt }
 #align category_theory.limits.cocone.category CategoryTheory.Limits.Cocone.category
 
+-- Porting note: if we do not have `simps` automatically generate the lemma for simplifying
+-- the Hom field of a category, we need to write the `ext` lemma in terms of the categorical
+-- morphism, rather than the underlying structure.
+@[ext]
+theorem CoconeMorphism.ext {c c' : Cocone F} (f g : c ⟶ c') (w : f.Hom = g.Hom) : f = g := by
+  cases f
+  cases g
+  congr
+
 namespace Cocones
 
 /-- To give an isomorphism between cocones, it suffices to give an
chore: fix some names in comments (#3276)

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

Diff
@@ -152,7 +152,7 @@ theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
 * an object `c.pt` and
 * a natural transformation `c.ι : F ⟶ c.pt` from `F` to the constant `c.pt` functor.
 
-`Cocone F` is equivalent, via `cone.equiv` below, to `Σ X, F.cocones.obj X`.
+`Cocone F` is equivalent, via `Cone.equiv` below, to `Σ X, F.cocones.obj X`.
 -/
 structure Cocone (F : J ⥤ C) where
   /-- An object of `C` -/
feat: port CategoryTheory.ConcreteCategory.Elementwise (#2901)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -175,7 +175,7 @@ instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 
-@[reassoc]
+@[reassoc (attr := simp 1001)]
 theorem Cocone.w {F : J ⥤ C} (c : Cocone F) {j j' : J} (f : j ⟶ j') :
     F.map f ≫ c.ι.app j' = c.ι.app j := by
   rw [c.ι.naturality f]
chore: tidy various files (#2742)
Diff
@@ -157,7 +157,7 @@ theorem Cone.w {F : J ⥤ C} (c : Cone F) {j j' : J} (f : j ⟶ j') :
 structure Cocone (F : J ⥤ C) where
   /-- An object of `C` -/
   pt : C
-  /-- A natural transformation from `F` to the constant functor at `X` -/
+  /-- A natural transformation from `F` to the constant functor at `pt` -/
   ι : F ⟶ (const J).obj pt
 #align category_theory.limits.cocone CategoryTheory.Limits.Cocone
 set_option linter.uppercaseLean3 false in
@@ -274,8 +274,7 @@ def extend (c : Cocone F) {Y : C} (f : c.pt ⟶ Y) : Cocone F where
 version.
 -/
 @[simps]
-def whisker (E : K ⥤ J) (c : Cocone F) : Cocone (E ⋙ F)
-    where
+def whisker (E : K ⥤ J) (c : Cocone F) : Cocone (E ⋙ F) where
   pt := c.pt
   ι := whiskerLeft E c.ι
 #align category_theory.limits.cocone.whisker CategoryTheory.Limits.Cocone.whisker
@@ -339,8 +338,7 @@ theorem cone_iso_of_hom_iso {K : J ⥤ C} {c d : Cone K} (f : c ⟶ d) [i : IsIs
 Functorially postcompose a cone for `F` by a natural transformation `F ⟶ G` to give a cone for `G`.
 -/
 @[simps]
-def postcompose {G : J ⥤ C} (α : F ⟶ G) : Cone F ⥤ Cone G
-    where
+def postcompose {G : J ⥤ C} (α : F ⟶ G) : Cone F ⥤ Cone G where
   obj c :=
     { pt := c.pt
       π := c.π ≫ α }
@@ -365,8 +363,7 @@ def postcomposeId : postcompose (𝟙 F) ≅ 𝟭 (Cone F) :=
 cones.
 -/
 @[simps]
-def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G
-    where
+def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G where
   functor := postcompose α.hom
   inverse := postcompose α.inv
   unitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
@@ -376,8 +373,7 @@ def postcomposeEquivalence {G : J ⥤ C} (α : F ≅ G) : Cone F ≌ Cone G
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `Cone F` to `Cone (E ⋙ F)`.
 -/
 @[simps]
-def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F)
-    where
+def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F) where
   obj c := c.whisker E
   map f := { Hom := f.Hom }
 #align category_theory.limits.cones.whiskering CategoryTheory.Limits.Cones.whiskering
@@ -385,8 +381,7 @@ def whiskering (E : K ⥤ J) : Cone F ⥤ Cone (E ⋙ F)
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
-def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.functor ⋙ F)
-    where
+def whiskeringEquivalence (e : K ≌ J) : Cone F ≌ Cone (e.functor ⋙ F) where
   functor := whiskering e.functor
   inverse := whiskering e.inverse ⋙ postcompose (e.invFunIdAssoc F).hom
   unitIso := NatIso.ofComponents (fun s => Cones.ext (Iso.refl _) (by aesop_cat)) (by aesop_cat)
@@ -572,8 +567,7 @@ def precomposeEquivalence {G : J ⥤ C} (α : G ≅ F) : Cocone F ≌ Cocone G w
 /-- Whiskering on the left by `E : K ⥤ J` gives a functor from `Cocone F` to `Cocone (E ⋙ F)`.
 -/
 @[simps]
-def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F)
-    where
+def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F) where
   obj c := c.whisker E
   map f := { Hom := f.Hom }
 #align category_theory.limits.cocones.whiskering CategoryTheory.Limits.Cocones.whiskering
@@ -581,8 +575,7 @@ def whiskering (E : K ⥤ J) : Cocone F ⥤ Cocone (E ⋙ F)
 /-- Whiskering by an equivalence gives an equivalence between categories of cones.
 -/
 @[simps]
-def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.functor ⋙ F)
-    where
+def whiskeringEquivalence (e : K ≌ J) : Cocone F ≌ Cocone (e.functor ⋙ F) where
   functor := whiskering e.functor
   inverse :=
     whiskering e.inverse ⋙
@@ -902,8 +895,7 @@ variable (F)
 is equivalent to the opposite category of
 the category of cones on the opposite of `F`.
 -/
-def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ
-    where
+def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ where
   functor :=
     { obj := fun c => op (Cocone.op c)
       map := fun {X} {Y} f =>
@@ -971,16 +963,14 @@ and replace with `@[simps]`-/
 -- as we can write a simpler `rfl` lemma for the components of the natural transformation by hand.
 /-- Change a cocone on `F.leftOp : Jᵒᵖ ⥤ C` to a cocone on `F : J ⥤ Cᵒᵖ`. -/
 @[simps!]
-def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F
-    where
+def coneOfCoconeLeftOp (c : Cocone F.leftOp) : Cone F where
   pt := op c.pt
   π := NatTrans.removeLeftOp c.ι
 #align category_theory.limits.cone_of_cocone_left_op CategoryTheory.Limits.coneOfCoconeLeftOp
 
 /-- Change a cone on `F : J ⥤ Cᵒᵖ` to a cocone on `F.leftOp : Jᵒᵖ ⥤ C`. -/
 @[simps!]
-def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp
-    where
+def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp where
   pt := unop c.pt
   ι := NatTrans.leftOp c.π
 #align category_theory.limits.cocone_left_op_of_cone CategoryTheory.Limits.coconeLeftOpOfCone
@@ -990,8 +980,7 @@ def coconeLeftOpOfCone (c : Cone F) : Cocone F.leftOp
   being simplified properly. -/
 /-- Change a cone on `F.leftOp : Jᵒᵖ ⥤ C` to a cocone on `F : J ⥤ Cᵒᵖ`. -/
 @[simps pt]
-def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F
-    where
+def coconeOfConeLeftOp (c : Cone F.leftOp) : Cocone F where
   pt := op c.pt
   ι := NatTrans.removeLeftOp c.π
 #align category_theory.limits.cocone_of_cone_left_op CategoryTheory.Limits.coconeOfConeLeftOp
@@ -1005,8 +994,7 @@ theorem coconeOfConeLeftOp_ι_app (c : Cone F.leftOp) (j) :
 
 /-- Change a cocone on `F : J ⥤ Cᵒᵖ` to a cone on `F.leftOp : Jᵒᵖ ⥤ C`. -/
 @[simps!]
-def coneLeftOpOfCocone (c : Cocone F) : Cone F.leftOp
-    where
+def coneLeftOpOfCocone (c : Cocone F) : Cone F.leftOp where
   pt := unop c.pt
   π := NatTrans.leftOp c.ι
 #align category_theory.limits.cone_left_op_of_cocone CategoryTheory.Limits.coneLeftOpOfCocone
@@ -1019,32 +1007,28 @@ variable {F : Jᵒᵖ ⥤ C}
 
 /-- Change a cocone on `F.rightOp : J ⥤ Cᵒᵖ` to a cone on `F : Jᵒᵖ ⥤ C`. -/
 @[simps]
-def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F
-    where
+def coneOfCoconeRightOp (c : Cocone F.rightOp) : Cone F where
   pt := unop c.pt
   π := NatTrans.removeRightOp c.ι
 #align category_theory.limits.cone_of_cocone_right_op CategoryTheory.Limits.coneOfCoconeRightOp
 
 /-- Change a cone on `F : Jᵒᵖ ⥤ C` to a cocone on `F.rightOp : Jᵒᵖ ⥤ C`. -/
 @[simps]
-def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp
-    where
+def coconeRightOpOfCone (c : Cone F) : Cocone F.rightOp where
   pt := op c.pt
   ι := NatTrans.rightOp c.π
 #align category_theory.limits.cocone_right_op_of_cone CategoryTheory.Limits.coconeRightOpOfCone
 
 /-- Change a cone on `F.rightOp : J ⥤ Cᵒᵖ` to a cocone on `F : Jᵒᵖ ⥤ C`. -/
 @[simps]
-def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F
-    where
+def coconeOfConeRightOp (c : Cone F.rightOp) : Cocone F where
   pt := unop c.pt
   ι := NatTrans.removeRightOp c.π
 #align category_theory.limits.cocone_of_cone_right_op CategoryTheory.Limits.coconeOfConeRightOp
 
 /-- Change a cocone on `F : Jᵒᵖ ⥤ C` to a cone on `F.rightOp : J ⥤ Cᵒᵖ`. -/
 @[simps]
-def coneRightOpOfCocone (c : Cocone F) : Cone F.rightOp
-    where
+def coneRightOpOfCocone (c : Cocone F) : Cone F.rightOp where
   pt := op c.pt
   π := NatTrans.rightOp c.ι
 #align category_theory.limits.cone_right_op_of_cocone CategoryTheory.Limits.coneRightOpOfCocone
@@ -1057,32 +1041,28 @@ variable {F : Jᵒᵖ ⥤ Cᵒᵖ}
 
 /-- Change a cocone on `F.unop : J ⥤ C` into a cone on `F : Jᵒᵖ ⥤ Cᵒᵖ`. -/
 @[simps]
-def coneOfCoconeUnop (c : Cocone F.unop) : Cone F
-    where
+def coneOfCoconeUnop (c : Cocone F.unop) : Cone F where
   pt := op c.pt
   π := NatTrans.removeUnop c.ι
 #align category_theory.limits.cone_of_cocone_unop CategoryTheory.Limits.coneOfCoconeUnop
 
 /-- Change a cone on `F : Jᵒᵖ ⥤ Cᵒᵖ` into a cocone on `F.unop : J ⥤ C`. -/
 @[simps]
-def coconeUnopOfCone (c : Cone F) : Cocone F.unop
-    where
+def coconeUnopOfCone (c : Cone F) : Cocone F.unop where
   pt := unop c.pt
   ι := NatTrans.unop c.π
 #align category_theory.limits.cocone_unop_of_cone CategoryTheory.Limits.coconeUnopOfCone
 
 /-- Change a cone on `F.unop : J ⥤ C` into a cocone on `F : Jᵒᵖ ⥤ Cᵒᵖ`. -/
 @[simps]
-def coconeOfConeUnop (c : Cone F.unop) : Cocone F
-    where
+def coconeOfConeUnop (c : Cone F.unop) : Cocone F where
   pt := op c.pt
   ι := NatTrans.removeUnop c.π
 #align category_theory.limits.cocone_of_cone_unop CategoryTheory.Limits.coconeOfConeUnop
 
 /-- Change a cocone on `F : Jᵒᵖ ⥤ Cᵒᵖ` into a cone on `F.unop : J ⥤ C`. -/
 @[simps]
-def coneUnopOfCocone (c : Cocone F) : Cone F.unop
-    where
+def coneUnopOfCocone (c : Cocone F) : Cone F.unop where
   pt := unop c.pt
   π := NatTrans.unop c.ι
 #align category_theory.limits.cone_unop_of_cocone CategoryTheory.Limits.coneUnopOfCocone
chore: fix dot notation for CategoryTheory.Functor.mapCone (#2661)

The dot notation for Functor.mapCone is fixed by changing the order of implicit/explicit parameters.

Diff
@@ -131,13 +131,13 @@ set_option linter.uppercaseLean3 false in
 
 instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
   ⟨{  pt := F.obj ⟨⟨⟩⟩
-      π := { app := fun ⟨⟨⟩⟩ => 𝟙 _ 
-             naturality := by 
+      π := { app := fun ⟨⟨⟩⟩ => 𝟙 _
+             naturality := by
               intro X Y f
-              match X, Y, f with 
-              | .mk A, .mk B, .up g => 
-                aesop_cat 
-           } 
+              match X, Y, f with
+              | .mk A, .mk B, .up g =>
+                aesop_cat
+           }
   }⟩
 #align category_theory.limits.inhabited_cone CategoryTheory.Limits.inhabitedCone
 
@@ -165,13 +165,13 @@ set_option linter.uppercaseLean3 false in
 
 instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   ⟨{  pt := F.obj ⟨⟨⟩⟩
-      ι := { app := fun ⟨⟨⟩⟩ => 𝟙 _  
-             naturality := by 
+      ι := { app := fun ⟨⟨⟩⟩ => 𝟙 _
+             naturality := by
               intro X Y f
-              match X, Y, f with 
-              | .mk A, .mk B, .up g => 
+              match X, Y, f with
+              | .mk A, .mk B, .up g =>
                 aesop_cat
-           } 
+           }
   }⟩
 #align category_theory.limits.inhabited_cocone CategoryTheory.Limits.inhabitedCocone
 
@@ -208,19 +208,19 @@ def equiv (F : J ⥤ C) : Cone F ≅ ΣX, F.cones.obj X
 
 /-- A map to the vertex of a cone naturally induces a cone by composition. -/
 @[simps]
-def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones where 
+def extensions (c : Cone F) : yoneda.obj c.pt ⋙ uliftFunctor.{u₁} ⟶ F.cones where
   app X f := (const J).map f.down ≫ c.π
-  naturality := by 
+  naturality := by
     intros X Y f
     dsimp [yoneda,const]
-    funext X 
+    funext X
     aesop_cat
 #align category_theory.limits.cone.extensions CategoryTheory.Limits.Cone.extensions
 
 /-- A map to the vertex of a cone induces a cone by composition. -/
 @[simps]
 def extend (c : Cone F) {X : C} (f : X ⟶ c.pt) : Cone F :=
-  { pt := X 
+  { pt := X
     π := c.extensions.app (op X) ⟨f⟩ }
 #align category_theory.limits.cone.extend CategoryTheory.Limits.Cone.extend
 
@@ -255,9 +255,9 @@ def equiv (F : J ⥤ C) : Cocone F ≅ ΣX, F.cocones.obj X
 
 /-- A map from the vertex of a cocone naturally induces a cocone by composition. -/
 @[simps]
-def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones where 
+def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} ⟶ F.cocones where
   app X f := c.ι ≫ (const J).map f.down
-  naturality := fun {X} {Y} f => by 
+  naturality := fun {X} {Y} f => by
     dsimp [coyoneda,const]
     funext X
     aesop_cat
@@ -265,8 +265,8 @@ def extensions (c : Cocone F) : coyoneda.obj (op c.pt) ⋙ uliftFunctor.{u₁} 
 
 /-- A map from the vertex of a cocone induces a cocone by composition. -/
 @[simps]
-def extend (c : Cocone F) {Y : C} (f : c.pt ⟶ Y) : Cocone F where 
-  pt := Y 
+def extend (c : Cocone F) {Y : C} (f : c.pt ⟶ Y) : Cocone F where
+  pt := Y
   ι := c.extensions.app Y ⟨f⟩
 #align category_theory.limits.cocone.extend CategoryTheory.Limits.Cocone.extend
 
@@ -436,17 +436,17 @@ def functoriality : Cone F ⥤ Cone (F ⋙ G) where
       w := fun j => by simp [-ConeMorphism.w, ← f.w j] }
 #align category_theory.limits.cones.functoriality CategoryTheory.Limits.Cones.functoriality
 
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where 
+instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
   preimage t :=
     { Hom := G.preimage t.Hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cones.functoriality_full CategoryTheory.Limits.Cones.functorialityFull
 
-instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G) where 
+instance functorialityFaithful [Faithful G] : Faithful (Cones.functoriality F G) where
   map_injective {c} {c'} f g e := by
     apply ConeMorphism.ext f g
     let f := ConeMorphism.mk.inj e; dsimp [functoriality]
-    apply G.map_injective f 
+    apply G.map_injective f
 #align category_theory.limits.cones.functoriality_faithful CategoryTheory.Limits.Cones.functorialityFaithful
 
 /-- If `e : C ≌ D` is an equivalence of categories, then `functoriality F e.functor` induces an
@@ -458,9 +458,9 @@ def functorialityEquivalence (e : C ≌ D) : Cone F ≌ Cone (F ⋙ e.functor) :
     Functor.associator _ _ _ ≪≫ isoWhiskerLeft _ e.unitIso.symm ≪≫ Functor.rightUnitor _
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (postcomposeEquivalence f).functor
-    unitIso := 
+    unitIso :=
       NatIso.ofComponents (fun c => Cones.ext (e.unitIso.app _) (by aesop_cat)) (by aesop_cat)
-    counitIso := 
+    counitIso :=
       NatIso.ofComponents (fun c => Cones.ext (e.counitIso.app _) (by aesop_cat)) (by aesop_cat)
   }
 #align category_theory.limits.cones.functoriality_equivalence CategoryTheory.Limits.Cones.functorialityEquivalence
@@ -471,8 +471,8 @@ as well.
 instance reflects_cone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
     ReflectsIsomorphisms (Cones.functoriality K F) := by
   constructor
-  intro A B f _ 
-  haveI : IsIso (F.map f.Hom) := 
+  intro A B f _
+  haveI : IsIso (F.map f.Hom) :=
     (Cones.forget (K ⋙ F)).map_isIso ((Cones.functoriality K F).map f)
   haveI := ReflectsIsomorphisms.reflects F f.Hom
   apply cone_iso_of_hom_iso
@@ -513,7 +513,7 @@ namespace Cocones
   maps. -/
 -- Porting note: `@[ext]` used to accept lemmas like this. Now we add an aesop rule
 @[aesop apply safe (rule_sets [CategoryTheory]), simps]
-def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j) 
+def ext {c c' : Cocone F} (φ : c.pt ≅ c'.pt) (w : ∀ j, c.ι.app j ≫ φ.hom = c'.ι.app j)
     : c ≅ c' where
   hom := { Hom := φ.hom }
   inv :=
@@ -634,19 +634,19 @@ def functoriality : Cocone F ⥤ Cocone (F ⋙ G) where
   map f :=
     { Hom := G.map f.Hom
       w := by intros; rw [← Functor.map_comp, CoconeMorphism.w] }
-  map_id := by aesop_cat 
-  map_comp := by aesop_cat  
+  map_id := by aesop_cat
+  map_comp := by aesop_cat
 #align category_theory.limits.cocones.functoriality CategoryTheory.Limits.Cocones.functoriality
 
-instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where 
+instance functorialityFull [Full G] [Faithful G] : Full (functoriality F G) where
   preimage t :=
     { Hom := G.preimage t.Hom
       w := fun j => G.map_injective (by simpa using t.w j) }
 #align category_theory.limits.cocones.functoriality_full CategoryTheory.Limits.Cocones.functorialityFull
 
-instance functoriality_faithful [Faithful G] : Faithful (functoriality F G) where 
+instance functoriality_faithful [Faithful G] : Faithful (functoriality F G) where
   map_injective {X} {Y} f g e := by
-    apply CoconeMorphism.ext 
+    apply CoconeMorphism.ext
     let h := CoconeMorphism.mk.inj e
     apply G.map_injective h
 #align category_theory.limits.cocones.functoriality_faithful CategoryTheory.Limits.Cocones.functoriality_faithful
@@ -660,7 +660,7 @@ def functorialityEquivalence (e : C ≌ D) : Cocone F ≌ Cocone (F ⋙ e.functo
     Functor.associator _ _ _ ≪≫ isoWhiskerLeft _ e.unitIso.symm ≪≫ Functor.rightUnitor _
   { functor := functoriality F e.functor
     inverse := functoriality (F ⋙ e.functor) e.inverse ⋙ (precomposeEquivalence f.symm).functor
-    unitIso := 
+    unitIso :=
       NatIso.ofComponents (fun c => Cocones.ext (e.unitIso.app _) (by aesop_cat)) (by aesop_cat)
     counitIso :=
       NatIso.ofComponents
@@ -686,7 +686,7 @@ as well.
 instance reflects_cocone_isomorphism (F : C ⥤ D) [ReflectsIsomorphisms F] (K : J ⥤ C) :
     ReflectsIsomorphisms (Cocones.functoriality K F) := by
   constructor
-  intro A B f _ 
+  intro A B f _
   haveI : IsIso (F.map f.Hom) :=
     (Cocones.forget (K ⋙ F)).map_isIso ((Cocones.functoriality K F).map f)
   haveI := ReflectsIsomorphisms.reflects F f.Hom
@@ -701,7 +701,7 @@ end Limits
 
 namespace Functor
 
-variable {F : J ⥤ C} {G : J ⥤ C} (H : C ⥤ D)
+variable (H : C ⥤ D) {F : J ⥤ C} {G : J ⥤ C}
 
 open CategoryTheory.Limits
 
@@ -717,15 +717,14 @@ def mapCocone (c : Cocone F) : Cocone (F ⋙ H) :=
   (Cocones.functoriality F H).obj c
 #align category_theory.functor.map_cocone CategoryTheory.Functor.mapCocone
 
-/- Porting note: dot notation on the functor is broken for `mapCone` -/
 /-- Given a cone morphism `c ⟶ c'`, construct a cone morphism on the mapped cones functorially.  -/
-def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : mapCone H c ⟶ mapCone _ c' :=
+def mapConeMorphism {c c' : Cone F} (f : c ⟶ c') : H.mapCone c ⟶ H.mapCone c' :=
   (Cones.functoriality F H).map f
 #align category_theory.functor.map_cone_morphism CategoryTheory.Functor.mapConeMorphism
 
 /-- Given a cocone morphism `c ⟶ c'`, construct a cocone morphism on the mapped cocones
 functorially. -/
-def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : mapCocone H c ⟶ mapCocone _ c' :=
+def mapCoconeMorphism {c c' : Cocone F} (f : c ⟶ c') : H.mapCocone c ⟶ H.mapCocone c' :=
   (Cocones.functoriality F H).map f
 #align category_theory.functor.map_cocone_morphism CategoryTheory.Functor.mapCoconeMorphism
 
@@ -956,14 +955,14 @@ def coconeEquivalenceOpConeOp : Cocone F ≌ (Cone F.op)ᵒᵖ
     apply comp_id
 #align category_theory.limits.cocone_equivalence_op_cone_op CategoryTheory.Limits.coconeEquivalenceOpConeOp
 
-attribute [simps] coconeEquivalenceOpConeOp 
+attribute [simps] coconeEquivalenceOpConeOp
 
 end
 
 section
 
 variable {F : J ⥤ Cᵒᵖ}
-/- Porting note: removed a few simps configs 
+/- Porting note: removed a few simps configs
 `@[simps (config :=
       { rhsMd := semireducible
         simpRhs := true })]`
@@ -1119,4 +1118,3 @@ def mapCoconeOp {t : Cocone F} : (mapCocone G t).op ≅ mapCone G.op t.op :=
 end
 
 end CategoryTheory.Functor
-
feat: port/CategoryTheory.Limits.HasLimits (#2368)
Diff
@@ -126,6 +126,8 @@ structure Cone (F : J ⥤ C) where
   /-- A natural transformation from the constant functor at `X` to `F` -/
   π : (const J).obj pt ⟶ F
 #align category_theory.limits.cone CategoryTheory.Limits.Cone
+set_option linter.uppercaseLean3 false in
+#align category_theory.limits.cone.X CategoryTheory.Limits.Cone.pt
 
 instance inhabitedCone (F : Discrete PUnit ⥤ C) : Inhabited (Cone F) :=
   ⟨{  pt := F.obj ⟨⟨⟩⟩
@@ -158,6 +160,8 @@ structure Cocone (F : J ⥤ C) where
   /-- A natural transformation from `F` to the constant functor at `X` -/
   ι : F ⟶ (const J).obj pt
 #align category_theory.limits.cocone CategoryTheory.Limits.Cocone
+set_option linter.uppercaseLean3 false in
+#align category_theory.limits.cocone.X CategoryTheory.Limits.Cocone.pt
 
 instance inhabitedCocone (F : Discrete PUnit ⥤ C) : Inhabited (Cocone F) :=
   ⟨{  pt := F.obj ⟨⟨⟩⟩
feat: port/CategoryTheory.Limits.Cones (#2337)

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: thorimur <68410468+thorimur@users.noreply.github.com>

Dependencies 69

70 files ported (100.0%)
23016 lines ported (100.0%)

All dependencies are ported!