category_theory.idempotents.functor_extension
⟷
Mathlib.CategoryTheory.Idempotents.FunctorExtension
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -318,7 +318,7 @@ theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
by
rw [nat_trans_eq]
congr 2
- exact congr_app (((whiskering_left _ _ _).obj (to_karoubi _)).image_preimage τ) P.X
+ exact congr_app (((whiskering_left _ _ _).obj (to_karoubi _)).map_preimage τ) P.X
#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -251,7 +251,7 @@ section IsIdempotentComplete
variable [IsIdempotentComplete D]
-noncomputable instance : IsEquivalence (toKaroubi D) :=
+noncomputable instance : CategoryTheory.Functor.IsEquivalence (toKaroubi D) :=
toKaroubiIsEquivalence D
#print CategoryTheory.Idempotents.karoubiUniversal₂ /-
@@ -269,7 +269,7 @@ theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = fun
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
-/
-noncomputable instance : IsEquivalence (functorExtension₂ C D) := by
+noncomputable instance : CategoryTheory.Functor.IsEquivalence (functorExtension₂ C D) := by
rw [← karoubi_universal₂_functor_eq]; infer_instance
#print CategoryTheory.Idempotents.functorExtension /-
@@ -296,13 +296,14 @@ theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).Functor = functorEx
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
-/
-noncomputable instance : IsEquivalence (functorExtension C D) := by
+noncomputable instance : CategoryTheory.Functor.IsEquivalence (functorExtension C D) := by
rw [← karoubi_universal_functor_eq]; infer_instance
-noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)) :=
- IsEquivalence.cancelCompRight _
+noncomputable instance :
+ CategoryTheory.Functor.IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)) :=
+ CategoryTheory.Functor.IsEquivalence.cancelCompRight _
((whiskeringRight C _ _).obj (toKaroubi D) ⋙ (whiskeringRight C _ _).obj (toKaroubi D).inv)
- (IsEquivalence.ofEquivalence
+ (CategoryTheory.Functor.IsEquivalence.ofEquivalence
(@Equivalence.congrRight _ _ _ _ C _
((toKaroubi D).asEquivalence.trans (toKaroubi D).asEquivalence.symm)))
(by change is_equivalence (karoubi_universal C D).inverse; infer_instance)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -83,7 +83,7 @@ def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G
comm := by
have h := φ.naturality P.p
have h' := F.congr_map P.idem
- simp only [hom_ext, karoubi.comp_f, F.map_comp] at h h'
+ simp only [hom_ext, karoubi.comp_f, F.map_comp] at h h'
simp only [obj_obj_p, assoc, ← h]
slice_rhs 1 3 => rw [h', h'] }
naturality' P Q f := by
@@ -116,7 +116,7 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
simp only [comp_f, functor_extension₁.map_app_f, nat_trans.comp_app, assoc]
have h := φ.naturality P.p
have h' := F.congr_map P.idem
- simp only [hom_ext, comp_f, F.map_comp] at h h'
+ simp only [hom_ext, comp_f, F.map_comp] at h h'
slice_rhs 2 3 => rw [← h]
slice_rhs 1 2 => rw [h']
simp only [assoc]
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -123,7 +123,6 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
-/
-#print CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi /-
theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) = 𝟭 _ :=
by
@@ -148,16 +147,15 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
simp only [eq_to_hom_app, F.map_id, comp_f, eq_to_hom_f, id_eq, p_comp, eq_to_hom_refl, comp_id,
comp_p, functor_extension₁.obj_obj_p, to_karoubi_obj_p, F.map_id X]
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
--/
-#print CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso /-
+#print CategoryTheory.Idempotents.functorExtension₁CompWhiskeringLeftToKaroubiIso /-
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₁` actually extends the original functors `C ⥤ karoubi D`. -/
@[simps]
-def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
+def functorExtension₁CompWhiskeringLeftToKaroubiIso :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) ≅ 𝟭 _ :=
eqToIso (functorExtension₁_comp_whiskeringLeft_toKaroubi C D)
-#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
+#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁CompWhiskeringLeftToKaroubiIso
-/
#print CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso /-
@@ -206,7 +204,7 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
where
Functor := functorExtension₁ C D
inverse := (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C)
- unitIso := (functorExtension₁_comp_whiskeringLeft_toKaroubi_iso C D).symm
+ unitIso := (functorExtension₁CompWhiskeringLeftToKaroubiIso C D).symm
counitIso := KaroubiUniversal₁.counitIso C D
functor_unitIso_comp' F := by
ext P
@@ -216,13 +214,11 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
-/
-#print CategoryTheory.Idempotents.functorExtension₁_comp /-
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
Functor.ext (by tidy) fun X Y f => by dsimp; simpa only [id_comp, comp_id]
#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
--/
#print CategoryTheory.Idempotents.functorExtension₂ /-
/-- The canonical functor `(C ⥤ D) ⥤ (karoubi C ⥤ karoubi D)` -/
@@ -232,7 +228,6 @@ def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
-/
-#print CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi /-
theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
@@ -240,7 +235,6 @@ theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
simp only [functor_extension₂, functor.assoc, functor_extension₁_comp_whiskering_left_to_karoubi,
functor.comp_id]
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
--/
#print CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso /-
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,7 +3,7 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-/
-import Mathbin.CategoryTheory.Idempotents.Karoubi
+import CategoryTheory.Idempotents.Karoubi
#align_import category_theory.idempotents.functor_extension from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
mathlib commit https://github.com/leanprover-community/mathlib/commit/32a7e535287f9c73f2e4d2aef306a39190f0b504
@@ -258,7 +258,7 @@ section IsIdempotentComplete
variable [IsIdempotentComplete D]
noncomputable instance : IsEquivalence (toKaroubi D) :=
- toKaroubi_isEquivalence D
+ toKaroubiIsEquivalence D
#print CategoryTheory.Idempotents.karoubiUniversal₂ /-
/-- The equivalence of categories `(C ⥤ D) ≌ (karoubi C ⥤ karoubi D)` when `D`
@@ -284,7 +284,7 @@ when `D` is idempotent compltete. -/
@[simps]
noncomputable def functorExtension : (C ⥤ D) ⥤ Karoubi C ⥤ D :=
functorExtension₂ C D ⋙
- (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubi_isEquivalence D).inverse
+ (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubiIsEquivalence D).inverse
#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtension
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,14 +2,11 @@
Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.idempotents.functor_extension
-! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Idempotents.Karoubi
+#align_import category_theory.idempotents.functor_extension from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
+
/-!
# Extension of functors to the idempotent completion
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -45,6 +45,7 @@ namespace Idempotents
variable {C D E : Type _} [Category C] [Category D] [Category E]
+#print CategoryTheory.Idempotents.natTrans_eq /-
/-- A natural transformation between functors `karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
@@ -57,9 +58,11 @@ theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
congr
apply decomp_id
#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eq
+-/
namespace FunctorExtension₁
+#print CategoryTheory.Idempotents.FunctorExtension₁.obj /-
/-- The canonical extension of a functor `C ⥤ karoubi D` to a functor
`karoubi C ⥤ karoubi D` -/
@[simps]
@@ -69,7 +72,9 @@ def obj (F : C ⥤ Karoubi D) : Karoubi C ⥤ Karoubi D
⟨(F.obj P.pt).pt, (F.map P.p).f, by simpa only [F.map_comp, hom_ext] using F.congr_map P.idem⟩
map P Q f := ⟨(F.map f.f).f, by simpa only [F.map_comp, hom_ext] using F.congr_map f.comm⟩
#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.obj
+-/
+#print CategoryTheory.Idempotents.FunctorExtension₁.map /-
/-- Extension of a natural transformation `φ` between functors
`C ⥤ karoubi D` to a natural transformation between the
extension of these functors to `karoubi C ⥤ karoubi D` -/
@@ -95,11 +100,13 @@ def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G
slice_lhs 1 2 => rw [h']
slice_rhs 1 2 => rw [h'']
#align category_theory.idempotents.functor_extension₁.map CategoryTheory.Idempotents.FunctorExtension₁.map
+-/
end FunctorExtension₁
variable (C D E)
+#print CategoryTheory.Idempotents.functorExtension₁ /-
/-- The canonical functor `(C ⥤ karoubi D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
@@ -117,7 +124,9 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
slice_rhs 1 2 => rw [h']
simp only [assoc]
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
+-/
+#print CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi /-
theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) = 𝟭 _ :=
by
@@ -142,7 +151,9 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
simp only [eq_to_hom_app, F.map_id, comp_f, eq_to_hom_f, id_eq, p_comp, eq_to_hom_refl, comp_id,
comp_p, functor_extension₁.obj_obj_p, to_karoubi_obj_p, F.map_id X]
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
+-/
+#print CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso /-
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₁` actually extends the original functors `C ⥤ karoubi D`. -/
@[simps]
@@ -150,7 +161,9 @@ def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) ≅ 𝟭 _ :=
eqToIso (functorExtension₁_comp_whiskeringLeft_toKaroubi C D)
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
+-/
+#print CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso /-
/-- The counit isomorphism of the equivalence `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def KaroubiUniversal₁.counitIso :
@@ -187,7 +200,9 @@ def KaroubiUniversal₁.counitIso :
simpa only [nat_trans_eq φ P, comp_f, functor_extension₁.map_app_f, functor.comp_map,
whisker_left_app, assoc, P.decomp_p, G₁.map_comp]
#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso
+-/
+#print CategoryTheory.Idempotents.karoubiUniversal₁ /-
/-- The equivalence of categories `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
@@ -202,19 +217,25 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
simpa only [comp_f, eq_to_hom_app, eq_to_hom_f, eq_to_hom_refl, comp_id, hom_ext, F.map_comp,
comp_p] using F.congr_map P.idem
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
+-/
+#print CategoryTheory.Idempotents.functorExtension₁_comp /-
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
Functor.ext (by tidy) fun X Y f => by dsimp; simpa only [id_comp, comp_id]
#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
+-/
+#print CategoryTheory.Idempotents.functorExtension₂ /-
/-- The canonical functor `(C ⥤ D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) ⋙ functorExtension₁ C D
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
+-/
+#print CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi /-
theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
@@ -222,7 +243,9 @@ theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
simp only [functor_extension₂, functor.assoc, functor_extension₁_comp_whiskering_left_to_karoubi,
functor.comp_id]
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
+-/
+#print CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso /-
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₂` actually extends the original functors `C ⥤ D`. -/
@[simps]
@@ -231,6 +254,7 @@ def functorExtension₂CompWhiskeringLeftToKaroubiIso :
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
eqToIso (functorExtension₂_comp_whiskeringLeft_toKaroubi C D)
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso
+-/
section IsIdempotentComplete
@@ -239,20 +263,25 @@ variable [IsIdempotentComplete D]
noncomputable instance : IsEquivalence (toKaroubi D) :=
toKaroubi_isEquivalence D
+#print CategoryTheory.Idempotents.karoubiUniversal₂ /-
/-- The equivalence of categories `(C ⥤ D) ≌ (karoubi C ⥤ karoubi D)` when `D`
is idempotent complete. -/
@[simps]
noncomputable def karoubiUniversal₂ : C ⥤ D ≌ Karoubi C ⥤ Karoubi D :=
(Equivalence.congrRight (toKaroubi D).asEquivalence).trans (karoubiUniversal₁ C D)
#align category_theory.idempotents.karoubi_universal₂ CategoryTheory.Idempotents.karoubiUniversal₂
+-/
+#print CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq /-
theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = functorExtension₂ C D :=
rfl
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
+-/
noncomputable instance : IsEquivalence (functorExtension₂ C D) := by
rw [← karoubi_universal₂_functor_eq]; infer_instance
+#print CategoryTheory.Idempotents.functorExtension /-
/-- The extension of functors functor `(C ⥤ D) ⥤ (karoubi C ⥤ D)`
when `D` is idempotent compltete. -/
@[simps]
@@ -260,16 +289,21 @@ noncomputable def functorExtension : (C ⥤ D) ⥤ Karoubi C ⥤ D :=
functorExtension₂ C D ⋙
(whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubi_isEquivalence D).inverse
#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtension
+-/
+#print CategoryTheory.Idempotents.karoubiUniversal /-
/-- The equivalence `(C ⥤ D) ≌ (karoubi C ⥤ D)` when `D` is idempotent complete. -/
@[simps]
noncomputable def karoubiUniversal : C ⥤ D ≌ Karoubi C ⥤ D :=
(karoubiUniversal₂ C D).trans (Equivalence.congrRight (toKaroubi D).asEquivalence.symm)
#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversal
+-/
+#print CategoryTheory.Idempotents.karoubiUniversal_functor_eq /-
theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).Functor = functorExtension C D :=
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
+-/
noncomputable instance : IsEquivalence (functorExtension C D) := by
rw [← karoubi_universal_functor_eq]; infer_instance
@@ -284,6 +318,7 @@ noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (to
variable {C D}
+#print CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app /-
theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
(τ : toKaroubi _ ⋙ F ⟶ toKaroubi _ ⋙ G) (P : Karoubi C) :
(((whiskeringLeft _ _ _).obj (toKaroubi _)).preimage τ).app P =
@@ -293,6 +328,7 @@ theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
congr 2
exact congr_app (((whiskering_left _ _ _).obj (to_karoubi _)).image_preimage τ) P.X
#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app
+-/
end IsIdempotentComplete
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -81,7 +81,7 @@ def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G
comm := by
have h := φ.naturality P.p
have h' := F.congr_map P.idem
- simp only [hom_ext, karoubi.comp_f, F.map_comp] at h h'
+ simp only [hom_ext, karoubi.comp_f, F.map_comp] at h h'
simp only [obj_obj_p, assoc, ← h]
slice_rhs 1 3 => rw [h', h'] }
naturality' P Q f := by
@@ -90,7 +90,7 @@ def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G
have h := φ.naturality f.f
have h' := F.congr_map (comp_p f)
have h'' := F.congr_map (p_comp f)
- simp only [hom_ext, functor.map_comp, comp_f] at h h' h''⊢
+ simp only [hom_ext, functor.map_comp, comp_f] at h h' h'' ⊢
slice_rhs 2 3 => rw [← h]
slice_lhs 1 2 => rw [h']
slice_rhs 1 2 => rw [h'']
@@ -112,7 +112,7 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
simp only [comp_f, functor_extension₁.map_app_f, nat_trans.comp_app, assoc]
have h := φ.naturality P.p
have h' := F.congr_map P.idem
- simp only [hom_ext, comp_f, F.map_comp] at h h'
+ simp only [hom_ext, comp_f, F.map_comp] at h h'
slice_rhs 2 3 => rw [← h]
slice_rhs 1 2 => rw [h']
simp only [assoc]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -45,9 +45,6 @@ namespace Idempotents
variable {C D E : Type _} [Category C] [Category D] [Category E]
-/- warning: category_theory.idempotents.nat_trans_eq -> CategoryTheory.Idempotents.natTrans_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eqₓ'. -/
/-- A natural transformation between functors `karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
@@ -63,12 +60,6 @@ theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
namespace FunctorExtension₁
-/- warning: category_theory.idempotents.functor_extension₁.obj -> CategoryTheory.Idempotents.FunctorExtension₁.obj is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) -> (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
-but is expected to have type
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) -> (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.objₓ'. -/
/-- The canonical extension of a functor `C ⥤ karoubi D` to a functor
`karoubi C ⥤ karoubi D` -/
@[simps]
@@ -79,12 +70,6 @@ def obj (F : C ⥤ Karoubi D) : Karoubi C ⥤ Karoubi D
map P Q f := ⟨(F.map f.f).f, by simpa only [F.map_comp, hom_ext] using F.congr_map f.comm⟩
#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.obj
-/- warning: category_theory.idempotents.functor_extension₁.map -> CategoryTheory.Idempotents.FunctorExtension₁.map is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)} {G : CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)}, (Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))) F G) -> (Quiver.Hom.{succ (max (max u1 u3) u4), max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 F) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 G))
-but is expected to have type
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)} {G : CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)}, (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) F G) -> (Quiver.Hom.{max (max (succ u1) (succ u3)) (succ u4), max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 F) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 G))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁.map CategoryTheory.Idempotents.FunctorExtension₁.mapₓ'. -/
/-- Extension of a natural transformation `φ` between functors
`C ⥤ karoubi D` to a natural transformation between the
extension of these functors to `karoubi C ⥤ karoubi D` -/
@@ -115,12 +100,6 @@ end FunctorExtension₁
variable (C D E)
-/- warning: category_theory.idempotents.functor_extension₁ -> CategoryTheory.Idempotents.functorExtension₁ is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max (max u4 u2) u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁ₓ'. -/
/-- The canonical functor `(C ⥤ karoubi D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
@@ -139,9 +118,6 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
simp only [assoc]
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
-/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) = 𝟭 _ :=
by
@@ -167,9 +143,6 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
comp_p, functor_extension₁.obj_obj_p, to_karoubi_obj_p, F.map_id X]
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
-/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_isoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₁` actually extends the original functors `C ⥤ karoubi D`. -/
@[simps]
@@ -178,9 +151,6 @@ def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
eqToIso (functorExtension₁_comp_whiskeringLeft_toKaroubi C D)
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
-/- warning: category_theory.idempotents.karoubi_universal₁.counit_iso -> CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIsoₓ'. -/
/-- The counit isomorphism of the equivalence `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def KaroubiUniversal₁.counitIso :
@@ -218,12 +188,6 @@ def KaroubiUniversal₁.counitIso :
whisker_left_app, assoc, P.decomp_p, G₁.map_comp]
#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso
-/- warning: category_theory.idempotents.karoubi_universal₁ -> CategoryTheory.Idempotents.karoubiUniversal₁ is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max (max u4 u2) u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁ₓ'. -/
/-- The equivalence of categories `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
@@ -239,30 +203,18 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
comp_p] using F.congr_map P.idem
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
-/- warning: category_theory.idempotents.functor_extension₁_comp -> CategoryTheory.Idempotents.functorExtension₁_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_compₓ'. -/
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
Functor.ext (by tidy) fun X Y f => by dsimp; simpa only [id_comp, comp_id]
#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
-/- warning: category_theory.idempotents.functor_extension₂ -> CategoryTheory.Idempotents.functorExtension₂ is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂ₓ'. -/
/-- The canonical functor `(C ⥤ D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) ⋙ functorExtension₁ C D
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
-/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
@@ -271,9 +223,6 @@ theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functor.comp_id]
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
-/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIsoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₂` actually extends the original functors `C ⥤ D`. -/
@[simps]
@@ -290,12 +239,6 @@ variable [IsIdempotentComplete D]
noncomputable instance : IsEquivalence (toKaroubi D) :=
toKaroubi_isEquivalence D
-/- warning: category_theory.idempotents.karoubi_universal₂ -> CategoryTheory.Idempotents.karoubiUniversal₂ is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₂ CategoryTheory.Idempotents.karoubiUniversal₂ₓ'. -/
/-- The equivalence of categories `(C ⥤ D) ≌ (karoubi C ⥤ karoubi D)` when `D`
is idempotent complete. -/
@[simps]
@@ -303,12 +246,6 @@ noncomputable def karoubiUniversal₂ : C ⥤ D ≌ Karoubi C ⥤ Karoubi D :=
(Equivalence.congrRight (toKaroubi D).asEquivalence).trans (karoubiUniversal₁ C D)
#align category_theory.idempotents.karoubi_universal₂ CategoryTheory.Idempotents.karoubiUniversal₂
-/- warning: category_theory.idempotents.karoubi_universal₂_functor_eq -> CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], Eq.{succ (max (max u1 u4) (max (max u1 u3) u4) (max u3 u4 u1 u2) u3 u4 (max u1 u3) u2 u4)} (CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Equivalence.functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.karoubiUniversal₂.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2)
-but is expected to have type
- forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u3, u1} D _inst_2], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Equivalence.functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.karoubiUniversal₂.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension₂.{u4, u3, u2, u1} C D _inst_1 _inst_2)
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eqₓ'. -/
theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = functorExtension₂ C D :=
rfl
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
@@ -316,12 +253,6 @@ theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = fun
noncomputable instance : IsEquivalence (functorExtension₂ C D) := by
rw [← karoubi_universal₂_functor_eq]; infer_instance
-/- warning: category_theory.idempotents.functor_extension -> CategoryTheory.Idempotents.functorExtension is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max u2 u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2)
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtensionₓ'. -/
/-- The extension of functors functor `(C ⥤ D) ⥤ (karoubi C ⥤ D)`
when `D` is idempotent compltete. -/
@[simps]
@@ -330,24 +261,12 @@ noncomputable def functorExtension : (C ⥤ D) ⥤ Karoubi C ⥤ D :=
(whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubi_isEquivalence D).inverse
#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtension
-/- warning: category_theory.idempotents.karoubi_universal -> CategoryTheory.Idempotents.karoubiUniversal is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max u2 u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2)
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversalₓ'. -/
/-- The equivalence `(C ⥤ D) ≌ (karoubi C ⥤ D)` when `D` is idempotent complete. -/
@[simps]
noncomputable def karoubiUniversal : C ⥤ D ≌ Karoubi C ⥤ D :=
(karoubiUniversal₂ C D).trans (Equivalence.congrRight (toKaroubi D).asEquivalence.symm)
#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversal
-/- warning: category_theory.idempotents.karoubi_universal_functor_eq -> CategoryTheory.Idempotents.karoubiUniversal_functor_eq is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], Eq.{succ (max (max u1 u4) (max (max u1 u3) u4) (max u3 u4 u1 u2) u3 u4 (max u1 u3) u2)} (CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)) (CategoryTheory.Equivalence.functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.karoubiUniversal.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)
-but is expected to have type
- forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u3, u1} D _inst_2], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2)) (CategoryTheory.Equivalence.functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.karoubiUniversal.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eqₓ'. -/
theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).Functor = functorExtension C D :=
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
@@ -365,9 +284,6 @@ noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (to
variable {C D}
-/- warning: category_theory.idempotents.whiskering_left_obj_preimage_app -> CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_appₓ'. -/
theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
(τ : toKaroubi _ ⋙ F ⟶ toKaroubi _ ⋙ G) (P : Karoubi C) :
(((whiskeringLeft _ _ _).obj (toKaroubi _)).preimage τ).app P =
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -127,9 +127,7 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
where
obj := FunctorExtension₁.obj
map F G := FunctorExtension₁.map
- map_id' F := by
- ext P
- exact comp_p (F.map P.p)
+ map_id' F := by ext P; exact comp_p (F.map P.p)
map_comp' F G H φ φ' := by
ext P
simp only [comp_f, functor_extension₁.map_app_f, nat_trans.comp_app, assoc]
@@ -247,9 +245,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.idempo
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
- Functor.ext (by tidy) fun X Y f => by
- dsimp
- simpa only [id_comp, comp_id]
+ Functor.ext (by tidy) fun X Y f => by dsimp; simpa only [id_comp, comp_id]
#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
/- warning: category_theory.idempotents.functor_extension₂ -> CategoryTheory.Idempotents.functorExtension₂ is a dubious translation:
@@ -317,10 +313,8 @@ theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = fun
rfl
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
-noncomputable instance : IsEquivalence (functorExtension₂ C D) :=
- by
- rw [← karoubi_universal₂_functor_eq]
- infer_instance
+noncomputable instance : IsEquivalence (functorExtension₂ C D) := by
+ rw [← karoubi_universal₂_functor_eq]; infer_instance
/- warning: category_theory.idempotents.functor_extension -> CategoryTheory.Idempotents.functorExtension is a dubious translation:
lean 3 declaration is
@@ -358,10 +352,8 @@ theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).Functor = functorEx
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
-noncomputable instance : IsEquivalence (functorExtension C D) :=
- by
- rw [← karoubi_universal_functor_eq]
- infer_instance
+noncomputable instance : IsEquivalence (functorExtension C D) := by
+ rw [← karoubi_universal_functor_eq]; infer_instance
noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)) :=
IsEquivalence.cancelCompRight _
@@ -369,9 +361,7 @@ noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (to
(IsEquivalence.ofEquivalence
(@Equivalence.congrRight _ _ _ _ C _
((toKaroubi D).asEquivalence.trans (toKaroubi D).asEquivalence.symm)))
- (by
- change is_equivalence (karoubi_universal C D).inverse
- infer_instance)
+ (by change is_equivalence (karoubi_universal C D).inverse; infer_instance)
variable {C D}
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -46,10 +46,7 @@ namespace Idempotents
variable {C D E : Type _} [Category C] [Category D] [Category E]
/- warning: category_theory.idempotents.nat_trans_eq -> CategoryTheory.Idempotents.natTrans_eq is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} (φ : Quiver.Hom.{succ (max (max u1 u3) u4), max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2))) F G) (P : CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1), Eq.{succ u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P)) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G φ P) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u1, u3} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G φ ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u1, u3} C _inst_1 P))))
-but is expected to have type
- forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] {F : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} (φ : Quiver.Hom.{max (max (succ u2) (succ u4)) (succ u3), max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2))) F G) (P : CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1), Eq.{succ u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P)) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G φ P) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u2, u4} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G φ (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u2, u4} C _inst_1 P))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eqₓ'. -/
/-- A natural transformation between functors `karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
@@ -145,10 +142,7 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], Eq.{succ (max (max u1 u4) u3 u4 u1 u2 u4)} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
-but is expected to have type
- forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.comp.{max u4 u1, max (max u4 u2) u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u3, u2, u1} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)))) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max u4 u3) u2) u1, max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringLeft.{u4, u2, max u2 u4, u2, max u1 u3, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u4, u2} C _inst_1))) (CategoryTheory.Functor.id.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) = 𝟭 _ :=
@@ -176,10 +170,7 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 u1 u2 u4) u1 u4, max (max u1 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) u1 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_isoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₁` actually extends the original functors `C ⥤ karoubi D`. -/
@@ -190,10 +181,7 @@ def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
/- warning: category_theory.idempotents.karoubi_universal₁.counit_iso -> CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 (max u1 u3) u2 u4) (max u1 u3) u4, max (max (max u1 u3) u4) u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{max (max u1 u3) u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max (max u1 u3) u4, max u1 u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2)) (CategoryTheory.Functor.id.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) (max u1 u3) u4} (CategoryTheory.Functor.{max (max u1 u3) u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max (max u1 u3) u4, max u1 u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2)) (CategoryTheory.Functor.id.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIsoₓ'. -/
/-- The counit isomorphism of the equivalence `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
@@ -254,10 +242,7 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
/- warning: category_theory.idempotents.functor_extension₁_comp -> CategoryTheory.Idempotents.functorExtension₁_comp is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) (E : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u4, u1} C] [_inst_2 : CategoryTheory.Category.{u5, u2} D] [_inst_3 : CategoryTheory.Category.{u6, u3} E] (F : CategoryTheory.Functor.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (G : CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)), Eq.{succ (max u4 u6 (max u1 u4) u3 u6)} (CategoryTheory.Functor.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.obj.{max u1 u6, max (max u1 u4) u6, max u4 u6 u1 u3 u6, max u4 u6 (max u1 u4) u3 u6} (CategoryTheory.Functor.{u4, u6, u1, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u4, u6, u1, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u3, u4, u6} C E _inst_1 _inst_3) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, max u2 u5, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3) F (CategoryTheory.Functor.obj.{max u2 u6, max (max u2 u5) u6, max u5 u6 u2 u3 u6, max u5 u6 (max u2 u5) u3 u6} (CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u2, u3, u5, u6} D E _inst_2 _inst_3) G))) (CategoryTheory.Functor.comp.{u4, u5, u6, max u1 u4, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3) (CategoryTheory.Functor.obj.{max u1 u5, max (max u1 u4) u5, max u4 u5 u1 u2 u5, max u4 u5 (max u1 u4) u2 u5} (CategoryTheory.Functor.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.category.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.{u4, u5, max u1 u4, max u2 u5} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.category.{u4, u5, max u1 u4, max u2 u5} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u4, u5} C D _inst_1 _inst_2) F) (CategoryTheory.Functor.obj.{max u2 u6, max (max u2 u5) u6, max u5 u6 u2 u3 u6, max u5 u6 (max u2 u5) u3 u6} (CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u2, u3, u5, u6} D E _inst_2 _inst_3) G))
-but is expected to have type
- forall (C : Type.{u4}) (D : Type.{u3}) (E : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u6, u4} C] [_inst_2 : CategoryTheory.Category.{u5, u3} D] [_inst_3 : CategoryTheory.Category.{u2, u1} E] (F : CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (G : CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)), Eq.{max (max (max (succ u4) (succ u1)) (succ u6)) (succ u2)} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (succ u4) (succ u6)) (succ u2), max (max (max u4 u1) u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, u4, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u4 u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u4 u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, max u4 u6, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max u4 u6) u2, max (max (max u4 u1) u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, u4, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, max u4 u6, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u1, u6, u2} C E _inst_1 _inst_3)) (CategoryTheory.Functor.comp.{u6, u5, u2, u4, max u3 u5, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3) F (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u5)) (succ u2), max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u5) u2, max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u3, u1, u5, u2} D E _inst_2 _inst_3)) G))) (CategoryTheory.Functor.comp.{u6, u5, u2, max u4 u6, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), max (max (succ u4) (succ u6)) (succ u5), max (max (max u4 u3) u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u4 u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, u4, max u3 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)))) (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u4 u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u4 u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, max u4 u6, max u3 u5} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u5, max (max u4 u6) u5, max (max (max u4 u3) u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, u4, max u3 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, max u4 u6, max u3 u5} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u3, u6, u5} C D _inst_1 _inst_2)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u5)) (succ u2), max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u5) u2, max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u3, u1, u5, u2} D E _inst_2 _inst_3)) G))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_compₓ'. -/
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
@@ -280,10 +265,7 @@ def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], Eq.{succ (max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4)} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.obj.{max u2 u4, max (max u3 u4 u1 u2) u1 u4, max u2 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u2 u4, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.comp.{max u4 u1, max (max u4 u2) u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u4, u3, u2, u1} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)))) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max u4 u3) u2) u1, max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringLeft.{u4, u2, max u2 u4, u2, max u1 u3, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u4, u2} C _inst_1))) (Prefunctor.obj.{max (succ u3) (succ u1), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u3 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)))) (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, max (max (max u4 u3) u2) u1, max u3 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringRight.{u4, u2, u3, u1, max u1 u3, u1} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u3, u1} D _inst_2))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
@@ -294,10 +276,7 @@ theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 u1 u2) u1 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.obj.{max u2 u4, max (max u3 u4 u1 u2) u1 u4, max u2 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u2 u4, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
-but is expected to have type
- forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) u1 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u2 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max u1 u2) u3) u4, max u2 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u4 u2, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIsoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₂` actually extends the original functors `C ⥤ D`. -/
@@ -397,10 +376,7 @@ noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (to
variable {C D}
/- warning: category_theory.idempotents.whiskering_left_obj_preimage_app -> CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) F) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G)) (P : CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1), Eq.{succ u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P)) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G (CategoryTheory.Functor.preimage.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) F G (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2) u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Equivalence.fullOfEquivalence.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2) u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.Obj.CategoryTheory.isEquivalence.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) τ) P) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u1, u3} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) F) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G) τ (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G (CategoryTheory.Functor.obj.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u1, u3} C _inst_1 P))))
-but is expected to have type
- forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u1, u3} D _inst_2] {F : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} (τ : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u4 u2, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) F) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G)) (P : CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1), Eq.{succ u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P)) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G (CategoryTheory.Functor.preimage.{max (max u3 u4) u2, max u3 u2, max (max (max u3 u1) u4) u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) F G (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (max (succ u3) (succ u1)) (succ u4)) (succ (max u4 u2))) (succ u2), max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)))) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max (max u3 u1) u4) u4 u2) u2, max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u2, u4, max u4 u2, u4, u1, u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Equivalence.fullOfEquivalence.{max (max u2 u4) u3, max u2 u3, max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (max (succ u3) (succ u1)) (succ u4)) (succ (max u4 u2))) (succ u2), max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)))) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max (max u3 u1) u4) u4 u2) u2, max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u2, u4, max u4 u2, u4, u1, u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Idempotents.instIsEquivalenceFunctorKaroubiInstCategoryKaroubiCategoryFunctorCategoryObjFunctorToQuiverToCategoryStructCategoryFunctorToQuiverToCategoryStructCategoryToPrefunctorWhiskeringLeftToKaroubi.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_4)) τ) P) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u2, u4} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G)) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (CategoryTheory.NatTrans.app.{u4, u3, u2, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u4 u2, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) F) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G) τ (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (Prefunctor.obj.{succ u4, succ u4, u2, max u2 u4} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u4, u4, u2, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u2, u4} C _inst_1 P))))
+<too large>
Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_appₓ'. -/
theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
(τ : toKaroubi _ ⋙ F ⟶ toKaroubi _ ⋙ G) (P : Karoubi C) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/284fdd2962e67d2932fa3a79ce19fcf92d38e228
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
! This file was ported from Lean 3 source module category_theory.idempotents.functor_extension
-! leanprover-community/mathlib commit 5f68029a863bdf76029fa0f7a519e6163c14152e
+! leanprover-community/mathlib commit 19cb3751e5e9b3d97adb51023949c50c13b5fdfd
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -13,6 +13,9 @@ import Mathbin.CategoryTheory.Idempotents.Karoubi
/-!
# Extension of functors to the idempotent completion
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
In this file, we construct an extension `functor_extension₁`
of functors `C ⥤ karoubi D` to functors `karoubi C ⥤ karoubi D`. This results in an
equivalence `karoubi_universal₁ C D : (C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/06a655b5fcfbda03502f9158bbf6c0f1400886f9
@@ -42,10 +42,16 @@ namespace Idempotents
variable {C D E : Type _} [Category C] [Category D] [Category E]
+/- warning: category_theory.idempotents.nat_trans_eq -> CategoryTheory.Idempotents.natTrans_eq is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} (φ : Quiver.Hom.{succ (max (max u1 u3) u4), max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2))) F G) (P : CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1), Eq.{succ u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P)) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G φ P) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u1, u3} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G φ ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u1, u3} C _inst_1 P))))
+but is expected to have type
+ forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] {F : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} (φ : Quiver.Hom.{max (max (succ u2) (succ u4)) (succ u3), max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max (max u2 u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max (max u2 u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2))) F G) (P : CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1), Eq.{succ u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P)) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G φ P) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u2, u4} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G φ (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u2, u4} C _inst_1 P))))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eqₓ'. -/
/-- A natural transformation between functors `karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
-theorem nat_trans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
- φ.app P = F.map (decompIdI P) ≫ φ.app P.pt ≫ G.map (decompIdP P) :=
+theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
+ φ.app P = F.map (decompId_i P) ≫ φ.app P.pt ≫ G.map (decompId_p P) :=
by
rw [← φ.naturality, ← assoc, ← F.map_comp]
conv =>
@@ -53,10 +59,16 @@ theorem nat_trans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
rw [← id_comp (φ.app P), ← F.map_id]
congr
apply decomp_id
-#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.nat_trans_eq
+#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eq
namespace FunctorExtension₁
+/- warning: category_theory.idempotents.functor_extension₁.obj -> CategoryTheory.Idempotents.FunctorExtension₁.obj is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) -> (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
+but is expected to have type
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) -> (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.objₓ'. -/
/-- The canonical extension of a functor `C ⥤ karoubi D` to a functor
`karoubi C ⥤ karoubi D` -/
@[simps]
@@ -67,6 +79,12 @@ def obj (F : C ⥤ Karoubi D) : Karoubi C ⥤ Karoubi D
map P Q f := ⟨(F.map f.f).f, by simpa only [F.map_comp, hom_ext] using F.congr_map f.comm⟩
#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.obj
+/- warning: category_theory.idempotents.functor_extension₁.map -> CategoryTheory.Idempotents.FunctorExtension₁.map is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)} {G : CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)}, (Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))) F G) -> (Quiver.Hom.{succ (max (max u1 u3) u4), max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 F) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 G))
+but is expected to have type
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] {F : CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)} {G : CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)}, (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) F G) -> (Quiver.Hom.{max (max (succ u1) (succ u3)) (succ u4), max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 F) (CategoryTheory.Idempotents.FunctorExtension₁.obj.{u1, u2, u3, u4} C D _inst_1 _inst_2 G))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁.map CategoryTheory.Idempotents.FunctorExtension₁.mapₓ'. -/
/-- Extension of a natural transformation `φ` between functors
`C ⥤ karoubi D` to a natural transformation between the
extension of these functors to `karoubi C ⥤ karoubi D` -/
@@ -97,6 +115,12 @@ end FunctorExtension₁
variable (C D E)
+/- warning: category_theory.idempotents.functor_extension₁ -> CategoryTheory.Idempotents.functorExtension₁ is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max (max u4 u2) u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁ₓ'. -/
/-- The canonical functor `(C ⥤ karoubi D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
@@ -117,6 +141,12 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D
simp only [assoc]
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
+/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], Eq.{succ (max (max u1 u4) u3 u4 u1 u2 u4)} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
+but is expected to have type
+ forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.comp.{max u4 u1, max (max u4 u2) u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u3, u2, u1} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)))) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max u4 u3) u2) u1, max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringLeft.{u4, u2, max u2 u4, u2, max u1 u3, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u4, u2} C _inst_1))) (CategoryTheory.Functor.id.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) = 𝟭 _ :=
by
@@ -142,14 +172,26 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
comp_p, functor_extension₁.obj_obj_p, to_karoubi_obj_p, F.map_id X]
#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
+/- warning: category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 u1 u2 u4) u1 u4, max (max u1 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) u1 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.id.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_isoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₁` actually extends the original functors `C ⥤ karoubi D`. -/
@[simps]
-def functorExtension₁CompWhiskeringLeftToKaroubiIso :
+def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) ≅ 𝟭 _ :=
eqToIso (functorExtension₁_comp_whiskeringLeft_toKaroubi C D)
-#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁CompWhiskeringLeftToKaroubiIso
-
+#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
+
+/- warning: category_theory.idempotents.karoubi_universal₁.counit_iso -> CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 (max u1 u3) u2 u4) (max u1 u3) u4, max (max (max u1 u3) u4) u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{max (max u1 u3) u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max (max u1 u3) u4, max u1 u4, max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2)) (CategoryTheory.Functor.id.{max (max u1 u3) u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) (max u1 u3) u4} (CategoryTheory.Functor.{max (max u1 u3) u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max (max u1 u3) u4, max u1 u4, max (max u1 u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u3, u4} C D _inst_1 _inst_2)) (CategoryTheory.Functor.id.{max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIsoₓ'. -/
/-- The counit isomorphism of the equivalence `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def KaroubiUniversal₁.counitIso :
@@ -158,7 +200,7 @@ def KaroubiUniversal₁.counitIso :
(fun G =>
{ Hom :=
{ app := fun P =>
- { f := (G.map (decompIdP P)).f
+ { f := (G.map (decompId_p P)).f
comm := by
simpa only [hom_ext, G.map_comp, G.map_id] using
G.congr_map
@@ -167,7 +209,7 @@ def KaroubiUniversal₁.counitIso :
simpa only [hom_ext, G.map_comp] using (G.congr_map (decomp_id_p_naturality f)).symm }
inv :=
{ app := fun P =>
- { f := (G.map (decompIdI P)).f
+ { f := (G.map (decompId_i P)).f
comm := by
simpa only [hom_ext, G.map_comp, G.map_id] using
G.congr_map
@@ -187,13 +229,19 @@ def KaroubiUniversal₁.counitIso :
whisker_left_app, assoc, P.decomp_p, G₁.map_comp]
#align category_theory.idempotents.karoubi_universal₁.counit_iso CategoryTheory.Idempotents.KaroubiUniversal₁.counitIso
+/- warning: category_theory.idempotents.karoubi_universal₁ -> CategoryTheory.Idempotents.karoubiUniversal₁ is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2 u4, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max (max u4 u2) u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁ₓ'. -/
/-- The equivalence of categories `(C ⥤ karoubi D) ≌ (karoubi C ⥤ karoubi D)`. -/
@[simps]
def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
where
Functor := functorExtension₁ C D
inverse := (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C)
- unitIso := (functorExtension₁CompWhiskeringLeftToKaroubiIso C D).symm
+ unitIso := (functorExtension₁_comp_whiskeringLeft_toKaroubi_iso C D).symm
counitIso := KaroubiUniversal₁.counitIso C D
functor_unitIso_comp' F := by
ext P
@@ -202,6 +250,12 @@ def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D
comp_p] using F.congr_map P.idem
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
+/- warning: category_theory.idempotents.functor_extension₁_comp -> CategoryTheory.Idempotents.functorExtension₁_comp is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) (E : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u4, u1} C] [_inst_2 : CategoryTheory.Category.{u5, u2} D] [_inst_3 : CategoryTheory.Category.{u6, u3} E] (F : CategoryTheory.Functor.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (G : CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)), Eq.{succ (max u4 u6 (max u1 u4) u3 u6)} (CategoryTheory.Functor.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.obj.{max u1 u6, max (max u1 u4) u6, max u4 u6 u1 u3 u6, max u4 u6 (max u1 u4) u3 u6} (CategoryTheory.Functor.{u4, u6, u1, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u4, u6, u1, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u4, u6, max u1 u4, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u3, u4, u6} C E _inst_1 _inst_3) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, max u2 u5, max u3 u6} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3) F (CategoryTheory.Functor.obj.{max u2 u6, max (max u2 u5) u6, max u5 u6 u2 u3 u6, max u5 u6 (max u2 u5) u3 u6} (CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u2, u3, u5, u6} D E _inst_2 _inst_3) G))) (CategoryTheory.Functor.comp.{u4, u5, u6, max u1 u4, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3) (CategoryTheory.Functor.obj.{max u1 u5, max (max u1 u4) u5, max u4 u5 u1 u2 u5, max u4 u5 (max u1 u4) u2 u5} (CategoryTheory.Functor.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.category.{u4, u5, u1, max u2 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.{u4, u5, max u1 u4, max u2 u5} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Functor.category.{u4, u5, max u1 u4, max u2 u5} (CategoryTheory.Idempotents.Karoubi.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u1, u2, u4, u5} C D _inst_1 _inst_2) F) (CategoryTheory.Functor.obj.{max u2 u6, max (max u2 u5) u6, max u5 u6 u2 u3 u6, max u5 u6 (max u2 u5) u3 u6} (CategoryTheory.Functor.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, u2, max u3 u6} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Functor.category.{u5, u6, max u2 u5, max u3 u6} (CategoryTheory.Idempotents.Karoubi.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u3, u6} E _inst_3) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u3, u6} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u2, u3, u5, u6} D E _inst_2 _inst_3) G))
+but is expected to have type
+ forall (C : Type.{u4}) (D : Type.{u3}) (E : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u6, u4} C] [_inst_2 : CategoryTheory.Category.{u5, u3} D] [_inst_3 : CategoryTheory.Category.{u2, u1} E] (F : CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (G : CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)), Eq.{max (max (max (succ u4) (succ u1)) (succ u6)) (succ u2)} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (succ u4) (succ u6)) (succ u2), max (max (max u4 u1) u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, u4, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u4 u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u4 u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, max u4 u6, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max u4 u6) u2, max (max (max u4 u1) u6) u2, max (max (max u4 u1) u6) u2} (CategoryTheory.Functor.{u6, u2, u4, max u2 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, u4, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u6, u2, max u6 u4, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u6, u2, max u4 u6, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u1, u6, u2} C E _inst_1 _inst_3)) (CategoryTheory.Functor.comp.{u6, u5, u2, u4, max u3 u5, max u1 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3) F (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u5)) (succ u2), max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u5) u2, max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u3, u1, u5, u2} D E _inst_2 _inst_3)) G))) (CategoryTheory.Functor.comp.{u6, u5, u2, max u4 u6, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3) (Prefunctor.obj.{max (succ u4) (succ u5), max (max (succ u4) (succ u6)) (succ u5), max (max (max u4 u3) u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u4 u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, u4, max u3 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)))) (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u4 u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u4 u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, max u4 u6, max u3 u5} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u5, max (max u4 u6) u5, max (max (max u4 u3) u6) u5, max (max (max u4 u3) u6) u5} (CategoryTheory.Functor.{u6, u5, u4, max u5 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, u4, max u3 u5} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.{u6, u5, max u6 u4, max u5 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Functor.category.{u6, u5, max u4 u6, max u3 u5} (CategoryTheory.Idempotents.Karoubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u6} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₁.{u4, u3, u6, u5} C D _inst_1 _inst_2)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u5)) (succ u2), max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u5) u2, max (max (max u3 u1) u5) u2, max (max (max u3 u1) u5) u2} (CategoryTheory.Functor.{u5, u2, u3, max u2 u1} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, u3, max u1 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.{u5, u2, max u5 u3, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Functor.category.{u5, u2, max u3 u5, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u5} D _inst_2) (CategoryTheory.Idempotents.Karoubi.{u1, u2} E _inst_3) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} E _inst_3)) (CategoryTheory.Idempotents.functorExtension₁.{u3, u1, u5, u2} D E _inst_2 _inst_3)) G))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_compₓ'. -/
theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
@@ -210,12 +264,24 @@ theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
simpa only [id_comp, comp_id]
#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
+/- warning: category_theory.idempotents.functor_extension₂ -> CategoryTheory.Idempotents.functorExtension₂ is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂ₓ'. -/
/-- The canonical functor `(C ⥤ D) ⥤ (karoubi C ⥤ karoubi D)` -/
@[simps]
def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) ⋙ functorExtension₁ C D
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
+/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi -> CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], Eq.{succ (max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4)} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.obj.{max u2 u4, max (max u3 u4 u1 u2) u1 u4, max u2 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u2 u4, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.comp.{max u4 u1, max (max u4 u2) u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u4, u3, u2, u1} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)))) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max u4 u3) u2) u1, max u4 u2, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, u4, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1)) (CategoryTheory.Functor.{max (max u2 u4) u1, max u4 u1, max (max (max (max u1 u3) u2 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max (max u2 u4) u1, max u4 u1, max (max (max (max u2 u4) u1 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringLeft.{u4, u2, max u2 u4, u2, max u1 u3, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u4, u2} C _inst_1))) (Prefunctor.obj.{max (succ u3) (succ u1), max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1), max u3 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u3 u1, max u3 u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)))) (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u3 u1, max (max (max u4 u3) u2) u1, max u3 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u1, u1, u3, max u1 u3} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.{max u4 u1, max u4 u1, max (max (max u3 u4) u1) u2, max (max (max (max u1 u3) u4) u1) u2} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Functor.category.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u1 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.whiskeringRight.{u4, u2, u3, u1, max u1 u3, u1} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u3, u1} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubiₓ'. -/
theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
@@ -224,6 +290,12 @@ theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
functor.comp_id]
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
+/- warning: category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso -> CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max u3 u4 u1 u2) u1 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2 u4) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2 u4) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2 u4, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, max u2 u4, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (CategoryTheory.Functor.obj.{max u2 u4, max (max u3 u4 u1 u2) u1 u4, max u2 u4, max (max u1 u4) (max u3 u4 u1 u2) u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u2 u4} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u2 u4, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D], CategoryTheory.Iso.{max (max (max u1 u2) u3) u4, max (max (max (max u1 u2) u3) u4) u1 u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.comp.{max u1 u4, max (max u1 u3) u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max u1 u3} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)))) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max (max u1 u2) u3) u4, max u1 u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u3 u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u3 u1) u4, max u1 u4, max (max (max (max u4 u2) u3 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max (max u3 u1) u4, max u1 u4, max (max (max (max u3 u1) u4 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringLeft.{u1, u3, max u3 u1, u3, max u4 u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1))) (Prefunctor.obj.{max (succ u2) (succ u4), max (max (max (succ u1) (succ u2)) (succ u3)) (succ u4), max u2 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u4, max u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max u2 u4, max u2 u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)))) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Category.toCategoryStruct.{max (max (max u1 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))))) (CategoryTheory.Functor.toPrefunctor.{max u2 u4, max (max (max u1 u2) u3) u4, max u2 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.{max u1 u4, max u1 u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Functor.category.{max u1 u4, max u1 u4, max (max (max u1 u2) u3) u4, max (max (max u1 u4 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.whiskeringRight.{u1, u3, u2, u4, max u4 u2, u4} C _inst_1 D _inst_2 (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIsoₓ'. -/
/-- The natural isomorphism expressing that functors `karoubi C ⥤ karoubi D` obtained
using `functor_extension₂` actually extends the original functors `C ⥤ D`. -/
@[simps]
@@ -238,8 +310,14 @@ section IsIdempotentComplete
variable [IsIdempotentComplete D]
noncomputable instance : IsEquivalence (toKaroubi D) :=
- toKaroubiIsEquivalence D
-
+ toKaroubi_isEquivalence D
+
+/- warning: category_theory.idempotents.karoubi_universal₂ -> CategoryTheory.Idempotents.karoubiUniversal₂ is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max (max u4 u2) u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, max u4 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} D _inst_2))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₂ CategoryTheory.Idempotents.karoubiUniversal₂ₓ'. -/
/-- The equivalence of categories `(C ⥤ D) ≌ (karoubi C ⥤ karoubi D)` when `D`
is idempotent complete. -/
@[simps]
@@ -247,6 +325,12 @@ noncomputable def karoubiUniversal₂ : C ⥤ D ≌ Karoubi C ⥤ Karoubi D :=
(Equivalence.congrRight (toKaroubi D).asEquivalence).trans (karoubiUniversal₁ C D)
#align category_theory.idempotents.karoubi_universal₂ CategoryTheory.Idempotents.karoubiUniversal₂
+/- warning: category_theory.idempotents.karoubi_universal₂_functor_eq -> CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], Eq.{succ (max (max u1 u4) (max (max u1 u3) u4) (max u3 u4 u1 u2) u3 u4 (max u1 u3) u2 u4)} (CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2))) (CategoryTheory.Equivalence.functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2 u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u2, u4} D _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u2, u4} D _inst_2)) (CategoryTheory.Idempotents.karoubiUniversal₂.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension₂.{u1, u2, u3, u4} C D _inst_1 _inst_2)
+but is expected to have type
+ forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u3, u1} D _inst_2], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2))) (CategoryTheory.Equivalence.functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, max u1 u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, max u3 u1} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u3, u1} D _inst_2) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u3, u1} D _inst_2)) (CategoryTheory.Idempotents.karoubiUniversal₂.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension₂.{u4, u3, u2, u1} C D _inst_1 _inst_2)
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eqₓ'. -/
theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).Functor = functorExtension₂ C D :=
rfl
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
@@ -256,20 +340,38 @@ noncomputable instance : IsEquivalence (functorExtension₂ C D) :=
rw [← karoubi_universal₂_functor_eq]
infer_instance
+/- warning: category_theory.idempotents.functor_extension -> CategoryTheory.Idempotents.functorExtension is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max u2 u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2)
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtensionₓ'. -/
/-- The extension of functors functor `(C ⥤ D) ⥤ (karoubi C ⥤ D)`
when `D` is idempotent compltete. -/
@[simps]
noncomputable def functorExtension : (C ⥤ D) ⥤ Karoubi C ⥤ D :=
functorExtension₂ C D ⋙
- (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubiIsEquivalence D).inverse
+ (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubi_isEquivalence D).inverse
#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtension
+/- warning: category_theory.idempotents.karoubi_universal -> CategoryTheory.Idempotents.karoubiUniversal is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)
+but is expected to have type
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], CategoryTheory.Equivalence.{max u1 u4, max (max u1 u3) u4, max (max (max u2 u1) u4) u3, max (max (max u2 u3 u1) u4) u3} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u3 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u3} C _inst_1) D _inst_2)
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversalₓ'. -/
/-- The equivalence `(C ⥤ D) ≌ (karoubi C ⥤ D)` when `D` is idempotent complete. -/
@[simps]
noncomputable def karoubiUniversal : C ⥤ D ≌ Karoubi C ⥤ D :=
(karoubiUniversal₂ C D).trans (Equivalence.congrRight (toKaroubi D).asEquivalence.symm)
#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversal
+/- warning: category_theory.idempotents.karoubi_universal_functor_eq -> CategoryTheory.Idempotents.karoubiUniversal_functor_eq is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u1}) (D : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2], Eq.{succ (max (max u1 u4) (max (max u1 u3) u4) (max u3 u4 u1 u2) u3 u4 (max u1 u3) u2)} (CategoryTheory.Functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2)) (CategoryTheory.Equivalence.functor.{max u1 u4, max (max u1 u3) u4, max u3 u4 u1 u2, max u3 u4 (max u1 u3) u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.karoubiUniversal.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)
+but is expected to have type
+ forall (C : Type.{u4}) (D : Type.{u3}) [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u3, u1} D _inst_2], Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2)) (CategoryTheory.Equivalence.functor.{max u4 u1, max (max u4 u2) u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u1, max u2 u4, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, max u4 u2, u3} (CategoryTheory.Idempotents.Karoubi.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u4, u2} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.karoubiUniversal.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)) (CategoryTheory.Idempotents.functorExtension.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_4)
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eqₓ'. -/
theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).Functor = functorExtension C D :=
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
@@ -291,10 +393,16 @@ noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (to
variable {C D}
+/- warning: category_theory.idempotents.whiskering_left_obj_preimage_app -> CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u2, u4} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2} (τ : Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) F) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G)) (P : CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1), Eq.{succ u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P)) (CategoryTheory.NatTrans.app.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F G (CategoryTheory.Functor.preimage.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) F G (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2) u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Equivalence.fullOfEquivalence.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u3, max (max u3 u4 (max u1 u3) u2) u1 u4, max u1 u3, max (max (max u1 u3) u4) (max u1 u4) (max u3 u4 (max u1 u3) u2) u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.category.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1)) (CategoryTheory.Functor.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u1 u3) u4, max u1 u4, max u3 u4 (max u1 u3) u2, max u3 u4 u1 u2} (CategoryTheory.Functor.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u3, u4, u1, u2} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u1, u3, max u1 u3, u3, u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1)) (CategoryTheory.Idempotents.Obj.CategoryTheory.isEquivalence.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_4)) τ) P) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F P ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u1, u3} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 F ((fun (a : Type.{u1}) (b : Sort.{max (succ u1) (succ u3)}) [self : HasLiftT.{succ u1, max (succ u1) (succ u3)} a b] => self.0) C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (HasLiftT.mk.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CoeTCₓ.coe.{succ u1, max (succ u1) (succ u3)} C (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.coe.{u1, u3} C _inst_1))) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P))) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Functor.obj.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G P) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) F) (CategoryTheory.Functor.comp.{u3, u3, u4, u1, max u1 u3, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) G) τ (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) (CategoryTheory.Functor.map.{u3, u4, max u1 u3, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) D _inst_2 G (CategoryTheory.Functor.obj.{u3, u3, u1, max u1 u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{u1, u3} C _inst_1) (CategoryTheory.Idempotents.Karoubi.x.{u1, u3} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u1, u3} C _inst_1 P))))
+but is expected to have type
+ forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_4 : CategoryTheory.IsIdempotentComplete.{u1, u3} D _inst_2] {F : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} {G : CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2} (τ : Quiver.Hom.{max (succ u2) (succ u3), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u4 u2, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) F) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G)) (P : CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1), Eq.{succ u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P)) (CategoryTheory.NatTrans.app.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F G (CategoryTheory.Functor.preimage.{max (max u3 u4) u2, max u3 u2, max (max (max u3 u1) u4) u2, max (max (max u3 u1) u4) u2} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) F G (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (max (succ u3) (succ u1)) (succ u4)) (succ (max u4 u2))) (succ u2), max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)))) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max (max u3 u1) u4) u4 u2) u2, max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u2, u4, max u4 u2, u4, u1, u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Equivalence.fullOfEquivalence.{max (max u2 u4) u3, max u2 u3, max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u4) (succ u2), max (max (max (max (succ u3) (succ u1)) (succ u4)) (succ (max u4 u2))) (succ u2), max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Category.toCategoryStruct.{max u4 u2, max u4 u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)))) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u3 u1) u4) u4 u2) u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u4 u2, max (max (max (max u3 u1) u4) u4 u2) u2, max u4 u2, max (max (max (max (max u3 u1) u4) u4 u2) u4) u2} (CategoryTheory.Functor.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.category.{u4, u4, u2, max u4 u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Functor.{max (max u4 u2) u3, max u2 u3, max (max (max u1 u4 u2) u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{max (max u4 u2) u3, max u2 u3, max (max (max (max u4 u2) u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.category.{u4, u3, max u4 u2, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u2, u4, max u4 u2, u4, u1, u3} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2)) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Idempotents.instIsEquivalenceFunctorKaroubiInstCategoryKaroubiCategoryFunctorCategoryObjFunctorToQuiverToCategoryStructCategoryFunctorToQuiverToCategoryStructCategoryToPrefunctorWhiskeringLeftToKaroubi.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_4)) τ) P) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) P (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P))) (CategoryTheory.Idempotents.Karoubi.decompId_i.{u2, u4} C _inst_1 P)) (CategoryTheory.CategoryStruct.comp.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 F) (CategoryTheory.Idempotents.Karoubi.mk.{u2, u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P) (CategoryTheory.CategoryStruct.id.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (CategoryTheory.Idempotents.Karoubi.coe.proof_1.{u4, u2} C _inst_1 (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)))) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G)) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (Prefunctor.obj.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) P) (CategoryTheory.NatTrans.app.{u4, u3, u2, u1} C _inst_1 D _inst_2 (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u4 u2, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) F) (CategoryTheory.Functor.comp.{u4, u4, u3, u2, max u2 u4, u1} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1) G) τ (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) (Prefunctor.map.{succ u4, succ u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, max u2 u4, u1} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) D _inst_2 G) (Prefunctor.obj.{succ u4, succ u4, u2, max u2 u4} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u4, max u2 u4} (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u4, u4, u2, max u2 u4} C _inst_1 (CategoryTheory.Idempotents.Karoubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u2, u4} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{u2, u4} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.X.{u2, u4} C _inst_1 P)) P (CategoryTheory.Idempotents.Karoubi.decompId_p.{u2, u4} C _inst_1 P))))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_appₓ'. -/
theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
(τ : toKaroubi _ ⋙ F ⟶ toKaroubi _ ⋙ G) (P : Karoubi C) :
(((whiskeringLeft _ _ _).obj (toKaroubi _)).preimage τ).app P =
- F.map P.decompIdI ≫ τ.app P.pt ≫ G.map P.decompIdP :=
+ F.map P.decompId_i ≫ τ.app P.pt ≫ G.map P.decompId_p :=
by
rw [nat_trans_eq]
congr 2
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -45,7 +45,7 @@ variable {C D E : Type _} [Category C] [Category D] [Category E]
/-- A natural transformation between functors `karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
theorem nat_trans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
- φ.app P = F.map (decompIdI P) ≫ φ.app P.x ≫ G.map (decompIdP P) :=
+ φ.app P = F.map (decompIdI P) ≫ φ.app P.pt ≫ G.map (decompIdP P) :=
by
rw [← φ.naturality, ← assoc, ← F.map_comp]
conv =>
@@ -63,7 +63,7 @@ namespace FunctorExtension₁
def obj (F : C ⥤ Karoubi D) : Karoubi C ⥤ Karoubi D
where
obj P :=
- ⟨(F.obj P.x).x, (F.map P.p).f, by simpa only [F.map_comp, hom_ext] using F.congr_map P.idem⟩
+ ⟨(F.obj P.pt).pt, (F.map P.p).f, by simpa only [F.map_comp, hom_ext] using F.congr_map P.idem⟩
map P Q f := ⟨(F.map f.f).f, by simpa only [F.map_comp, hom_ext] using F.congr_map f.comm⟩
#align category_theory.idempotents.functor_extension₁.obj CategoryTheory.Idempotents.FunctorExtension₁.obj
@@ -74,7 +74,7 @@ extension of these functors to `karoubi C ⥤ karoubi D` -/
def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G
where
app P :=
- { f := (F.map P.p).f ≫ (φ.app P.x).f
+ { f := (F.map P.p).f ≫ (φ.app P.pt).f
comm := by
have h := φ.naturality P.p
have h' := F.congr_map P.idem
@@ -294,7 +294,7 @@ variable {C D}
theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
(τ : toKaroubi _ ⋙ F ⟶ toKaroubi _ ⋙ G) (P : Karoubi C) :
(((whiskeringLeft _ _ _).obj (toKaroubi _)).preimage τ).app P =
- F.map P.decompIdI ≫ τ.app P.x ≫ G.map P.decompIdP :=
+ F.map P.decompIdI ≫ τ.app P.pt ≫ G.map P.decompIdP :=
by
rw [nat_trans_eq]
congr 2
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
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>
@@ -262,7 +262,7 @@ theorem whiskeringLeft_obj_preimage_app {F G : Karoubi C ⥤ D}
F.map P.decompId_i ≫ τ.app P.X ≫ G.map P.decompId_p := by
rw [natTrans_eq]
congr 2
- rw [← congr_app (((whiskeringLeft _ _ _).obj (toKaroubi _)).image_preimage τ) P.X]
+ rw [← congr_app (((whiskeringLeft _ _ _).obj (toKaroubi _)).map_preimage τ) P.X]
dsimp
congr
#align category_theory.idempotents.whiskering_left_obj_preimage_app CategoryTheory.Idempotents.whiskeringLeft_obj_preimage_app
These notions on functors are now Functor.Full
, Functor.Faithful
, Functor.EssSurj
, Functor.IsEquivalence
, Functor.ReflectsIsomorphisms
. Deprecated aliases are introduced for the previous names.
@@ -197,7 +197,7 @@ section IsIdempotentComplete
variable [IsIdempotentComplete D]
-noncomputable instance : IsEquivalence (toKaroubi D) :=
+noncomputable instance : (toKaroubi D).IsEquivalence :=
toKaroubiIsEquivalence D
/-- The equivalence of categories `(C ⥤ D) ≌ (Karoubi C ⥤ Karoubi D)` when `D`
@@ -211,7 +211,7 @@ theorem karoubiUniversal₂_functor_eq : (karoubiUniversal₂ C D).functor = fun
rfl
#align category_theory.idempotents.karoubi_universal₂_functor_eq CategoryTheory.Idempotents.karoubiUniversal₂_functor_eq
-noncomputable instance : IsEquivalence (functorExtension₂ C D) := by
+noncomputable instance : (functorExtension₂ C D).IsEquivalence := by
rw [← karoubiUniversal₂_functor_eq]
infer_instance
@@ -233,7 +233,7 @@ theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).functor = functorEx
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
-noncomputable instance : IsEquivalence (functorExtension C D) := by
+noncomputable instance : (functorExtension C D).IsEquivalence := by
rw [← karoubiUniversal_functor_eq]
infer_instance
@@ -245,10 +245,10 @@ lemma isEquivalence_whiskeringLeft_obj_toKaroubi_aux :
(karoubiUniversal C D).inverse := by
rfl
-noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)) :=
- IsEquivalence.cancelCompRight _
+noncomputable instance : ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)).IsEquivalence :=
+ Functor.IsEquivalence.cancelCompRight _
((whiskeringRight C _ _).obj (toKaroubi D) ⋙ (whiskeringRight C _ _).obj (toKaroubi D).inv)
- (IsEquivalence.ofEquivalence <| (toKaroubi D).asEquivalence.congrRight.trans
+ (Functor.IsEquivalence.ofEquivalence <| (toKaroubi D).asEquivalence.congrRight.trans
(toKaroubi D).asEquivalence.symm.congrRight)
(by
rw [isEquivalence_whiskeringLeft_obj_toKaroubi_aux]
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -237,7 +237,7 @@ noncomputable instance : IsEquivalence (functorExtension C D) := by
rw [← karoubiUniversal_functor_eq]
infer_instance
--- porting note: added to avoid a timeout in the following definition
+-- Porting note: added to avoid a timeout in the following definition
lemma isEquivalence_whiskeringLeft_obj_toKaroubi_aux :
((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C) ⋙
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) ⋙
In the context of idempotent completion of categories and the Dold-Kan equivalence, constructing some isomorphisms was very slow in Lean 3 but has been much faster in Lean 4, while using equalities of functors in Lean 3 was fast, but in Lean 4 it became very slow. In this PR, we switch to using mostly isomorphisms of functors: this also became necessary in order to make the refactor #8531 possible.
@@ -20,23 +20,14 @@ when `D` is idempotent complete, we get equivalences
`karoubiUniversal₂ C D : C ⥤ D ≌ Karoubi C ⥤ Karoubi D`
and `karoubiUniversal C D : C ⥤ D ≌ Karoubi C ⥤ D`.
-We occasionally state and use equalities of functors because it is
-sometimes convenient to use rewrites when proving properties of
-functors obtained using the constructions in this file. Users are
-encouraged to use the corresponding natural isomorphism
-whenever possible.
-
-/
-
-open CategoryTheory.Category
-
-open CategoryTheory.Idempotents.Karoubi
-
namespace CategoryTheory
namespace Idempotents
+open Category Karoubi
+
variable {C D E : Type*} [Category C] [Category D] [Category E]
/-- A natural transformation between functors `Karoubi C ⥤ D` is determined
@@ -44,9 +35,7 @@ by its value on objects coming from `C`. -/
theorem natTrans_eq {F G : Karoubi C ⥤ D} (φ : F ⟶ G) (P : Karoubi C) :
φ.app P = F.map (decompId_i P) ≫ φ.app P.X ≫ G.map (decompId_p P) := by
rw [← φ.naturality, ← assoc, ← F.map_comp]
- conv =>
- lhs
- rw [← id_comp (φ.app P), ← F.map_id]
+ conv_lhs => rw [← id_comp (φ.app P), ← F.map_id]
congr
apply decompId
#align category_theory.idempotents.nat_trans_eq CategoryTheory.Idempotents.natTrans_eq
@@ -110,28 +99,19 @@ def functorExtension₁ : (C ⥤ Karoubi D) ⥤ Karoubi C ⥤ Karoubi D where
simp only [assoc]
#align category_theory.idempotents.functor_extension₁ CategoryTheory.Idempotents.functorExtension₁
-theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
- functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
- 𝟭 _ := by
- refine' Functor.ext _ _
- · intro F
- refine' Functor.ext _ _
- · intro X
- ext
- · simp
- · simp
- · aesop_cat
- · intro F G φ
- aesop_cat
-#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi
-
/-- The natural isomorphism expressing that functors `Karoubi C ⥤ Karoubi D` obtained
using `functorExtension₁` actually extends the original functors `C ⥤ Karoubi D`. -/
@[simps!]
-def functorExtension₁_comp_whiskeringLeft_toKaroubi_iso :
+def functorExtension₁CompWhiskeringLeftToKaroubiIso :
functorExtension₁ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) ≅ 𝟭 _ :=
- eqToIso (functorExtension₁_comp_whiskeringLeft_toKaroubi C D)
-#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁_comp_whiskeringLeft_toKaroubi_iso
+ NatIso.ofComponents
+ (fun F => NatIso.ofComponents
+ (fun X =>
+ { hom := { f := (F.obj X).p }
+ inv := { f := (F.obj X).p } })
+ (fun {X Y} f => by aesop_cat))
+ (by aesop_cat)
+#align category_theory.idempotents.functor_extension₁_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₁CompWhiskeringLeftToKaroubiIso
/-- The counit isomorphism of the equivalence `(C ⥤ Karoubi D) ≌ (Karoubi C ⥤ Karoubi D)`. -/
@[simps!]
@@ -177,26 +157,20 @@ def KaroubiUniversal₁.counitIso :
def karoubiUniversal₁ : C ⥤ Karoubi D ≌ Karoubi C ⥤ Karoubi D where
functor := functorExtension₁ C D
inverse := (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C)
- unitIso := (functorExtension₁_comp_whiskeringLeft_toKaroubi_iso C D).symm
+ unitIso := (functorExtension₁CompWhiskeringLeftToKaroubiIso C D).symm
counitIso := KaroubiUniversal₁.counitIso C D
functor_unitIso_comp F := by
ext P
- dsimp [FunctorExtension₁.map, KaroubiUniversal₁.counitIso]
- simp only [eqToHom_app, Functor.id_obj, Functor.comp_obj, functorExtension₁_obj,
- whiskeringLeft_obj_obj, eqToHom_f, FunctorExtension₁.obj_obj_X, toKaroubi_obj_X,
- eqToHom_refl, comp_id, comp_p, ←comp_f, ← F.map_comp, P.idem]
+ dsimp
+ rw [comp_p, ← comp_f, ← F.map_comp, P.idem]
#align category_theory.idempotents.karoubi_universal₁ CategoryTheory.Idempotents.karoubiUniversal₁
-theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
- (functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
- (functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G := by
- refine' Functor.ext _ _
- · aesop_cat
- · intro X Y f
- ext
- simp only [eqToHom_refl, id_comp, comp_id]
- rfl
-#align category_theory.idempotents.functor_extension₁_comp CategoryTheory.Idempotents.functorExtension₁_comp
+/-- Compatibility isomorphisms of `functorExtension₁` with respect to the
+composition of functors. -/
+def functorExtension₁Comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
+ (functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) ≅
+ (functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G :=
+ Iso.refl _
/-- The canonical functor `(C ⥤ D) ⥤ (Karoubi C ⥤ Karoubi D)` -/
@[simps!]
@@ -204,20 +178,19 @@ def functorExtension₂ : (C ⥤ D) ⥤ Karoubi C ⥤ Karoubi D :=
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) ⋙ functorExtension₁ C D
#align category_theory.idempotents.functor_extension₂ CategoryTheory.Idempotents.functorExtension₂
-theorem functorExtension₂_comp_whiskeringLeft_toKaroubi :
- functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) =
- (whiskeringRight C D (Karoubi D)).obj (toKaroubi D) := by
- simp only [functorExtension₂, Functor.assoc, functorExtension₁_comp_whiskeringLeft_toKaroubi,
- Functor.comp_id]
-#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi CategoryTheory.Idempotents.functorExtension₂_comp_whiskeringLeft_toKaroubi
-
/-- The natural isomorphism expressing that functors `Karoubi C ⥤ Karoubi D` obtained
using `functorExtension₂` actually extends the original functors `C ⥤ D`. -/
@[simps!]
def functorExtension₂CompWhiskeringLeftToKaroubiIso :
functorExtension₂ C D ⋙ (whiskeringLeft C (Karoubi C) (Karoubi D)).obj (toKaroubi C) ≅
(whiskeringRight C D (Karoubi D)).obj (toKaroubi D) :=
- eqToIso (functorExtension₂_comp_whiskeringLeft_toKaroubi C D)
+ NatIso.ofComponents
+ (fun F => NatIso.ofComponents
+ (fun X =>
+ { hom := { f := 𝟙 _ }
+ inv := { f := 𝟙 _ } })
+ (by aesop_cat))
+ (by aesop_cat)
#align category_theory.idempotents.functor_extension₂_comp_whiskering_left_to_karoubi_iso CategoryTheory.Idempotents.functorExtension₂CompWhiskeringLeftToKaroubiIso
section IsIdempotentComplete
In this PR (which is a forward port of https://github.com/leanprover-community/mathlib/pull/17926), the Dold-Kan equivalence between simplicial objects and chain complexes in abelian categories is constructed.
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@@ -225,7 +225,7 @@ section IsIdempotentComplete
variable [IsIdempotentComplete D]
noncomputable instance : IsEquivalence (toKaroubi D) :=
- toKaroubi_isEquivalence D
+ toKaroubiIsEquivalence D
/-- The equivalence of categories `(C ⥤ D) ≌ (Karoubi C ⥤ Karoubi D)` when `D`
is idempotent complete. -/
@@ -247,7 +247,7 @@ when `D` is idempotent complete. -/
@[simps!]
noncomputable def functorExtension : (C ⥤ D) ⥤ Karoubi C ⥤ D :=
functorExtension₂ C D ⋙
- (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubi_isEquivalence D).inverse
+ (whiskeringRight (Karoubi C) (Karoubi D) D).obj (toKaroubiIsEquivalence D).inverse
#align category_theory.idempotents.functor_extension CategoryTheory.Idempotents.functorExtension
/-- The equivalence `(C ⥤ D) ≌ (Karoubi C ⥤ D)` when `D` is idempotent complete. -/
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -37,7 +37,7 @@ namespace CategoryTheory
namespace Idempotents
-variable {C D E : Type _} [Category C] [Category D] [Category E]
+variable {C D E : Type*} [Category C] [Category D] [Category E]
/-- A natural transformation between functors `Karoubi C ⥤ D` is determined
by its value on objects coming from `C`. -/
@@ -2,14 +2,11 @@
Copyright (c) 2022 Joël Riou. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.idempotents.functor_extension
-! leanprover-community/mathlib commit 5f68029a863bdf76029fa0f7a519e6163c14152e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Idempotents.Karoubi
+#align_import category_theory.idempotents.functor_extension from "leanprover-community/mathlib"@"5f68029a863bdf76029fa0f7a519e6163c14152e"
+
/-!
# Extension of functors to the idempotent completion
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -121,8 +121,8 @@ theorem functorExtension₁_comp_whiskeringLeft_toKaroubi :
refine' Functor.ext _ _
· intro X
ext
- . simp
- . simp
+ · simp
+ · simp
· aesop_cat
· intro F G φ
aesop_cat
@@ -194,8 +194,8 @@ theorem functorExtension₁_comp (F : C ⥤ Karoubi D) (G : D ⥤ Karoubi E) :
(functorExtension₁ C E).obj (F ⋙ (functorExtension₁ D E).obj G) =
(functorExtension₁ C D).obj F ⋙ (functorExtension₁ D E).obj G := by
refine' Functor.ext _ _
- . aesop_cat
- . intro X Y f
+ · aesop_cat
+ · intro X Y f
ext
simp only [eqToHom_refl, id_comp, comp_id]
rfl
at
and goals (#5387)
Changes are of the form
some_tactic at h⊢
-> some_tactic at h ⊢
some_tactic at h
-> some_tactic at h
@@ -84,7 +84,7 @@ def map {F G : C ⥤ Karoubi D} (φ : F ⟶ G) : obj F ⟶ obj G where
have h := φ.naturality f.f
have h' := F.congr_map (comp_p f)
have h'' := F.congr_map (p_comp f)
- simp only [hom_ext_iff, Functor.map_comp, comp_f] at h h' h''⊢
+ simp only [hom_ext_iff, Functor.map_comp, comp_f] at h h' h'' ⊢
slice_rhs 2 3 => rw [← h]
slice_lhs 1 2 => rw [h']
slice_rhs 1 2 => rw [h'']
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -259,7 +259,6 @@ noncomputable def karoubiUniversal : C ⥤ D ≌ Karoubi C ⥤ D :=
(karoubiUniversal₂ C D).trans (Equivalence.congrRight (toKaroubi D).asEquivalence.symm)
#align category_theory.idempotents.karoubi_universal CategoryTheory.Idempotents.karoubiUniversal
-set_option maxHeartbeats 400000 in
theorem karoubiUniversal_functor_eq : (karoubiUniversal C D).functor = functorExtension C D :=
rfl
#align category_theory.idempotents.karoubi_universal_functor_eq CategoryTheory.Idempotents.karoubiUniversal_functor_eq
reassoc
's simplification skills (#3531)
See zulip discussion
The only lemmas added to reassoc
's simplification set are:
Functor.id_obj, Functor.id_map, Functor.comp_obj, Functor.comp_map
all of which are definitional equalities.
@@ -278,13 +278,12 @@ lemma isEquivalence_whiskeringLeft_obj_toKaroubi_aux :
noncomputable instance : IsEquivalence ((whiskeringLeft C (Karoubi C) D).obj (toKaroubi C)) :=
IsEquivalence.cancelCompRight _
- ((whiskeringRight C _ _).obj (toKaroubi D) ⋙ (whiskeringRight C _ _).obj (toKaroubi D).inv)
- (IsEquivalence.ofEquivalence
- (@Equivalence.congrRight _ _ _ _ C _
- ((toKaroubi D).asEquivalence.trans (toKaroubi D).asEquivalence.symm)))
- (by
- rw [isEquivalence_whiskeringLeft_obj_toKaroubi_aux]
- infer_instance)
+ ((whiskeringRight C _ _).obj (toKaroubi D) ⋙ (whiskeringRight C _ _).obj (toKaroubi D).inv)
+ (IsEquivalence.ofEquivalence <| (toKaroubi D).asEquivalence.congrRight.trans
+ (toKaroubi D).asEquivalence.symm.congrRight)
+ (by
+ rw [isEquivalence_whiskeringLeft_obj_toKaroubi_aux]
+ infer_instance)
variable {C D}
The unported dependencies are