category_theory.idempotents.karoubi_karoubiMathlib.CategoryTheory.Idempotents.KaroubiKaroubi

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -62,7 +62,7 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
             { f := P.p.1
               comm := by
                 have h := P.idem
-                simp only [hom_ext, comp_f] at h 
+                simp only [hom_ext, comp_f] at h
                 erw [← assoc, h, comp_p] }
           comm := by
             have h := P.idem
@@ -75,7 +75,7 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
             { f := P.p.1
               comm := by
                 have h := P.idem
-                simp only [hom_ext, comp_f] at h 
+                simp only [hom_ext, comp_f] at h
                 erw [h, p_comp] }
           comm := by
             have h := P.idem
Diff
@@ -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.karoubi_karoubi from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
 
Diff
@@ -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.karoubi_karoubi
-! 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.karoubi_karoubi from "leanprover-community/mathlib"@"19cb3751e5e9b3d97adb51023949c50c13b5fdfd"
+
 /-!
 # Idempotence of the Karoubi envelope
 
Diff
@@ -34,6 +34,7 @@ namespace KaroubiKaroubi
 
 variable (C : Type _) [Category C]
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.inverse /-
 /-- The canonical functor `karoubi (karoubi C) ⥤ karoubi C` -/
 @[simps]
 def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
@@ -41,15 +42,19 @@ def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
   obj P := ⟨P.pt.pt, P.p.f, by simpa only [hom_ext] using P.idem⟩
   map P Q f := ⟨f.f.f, by simpa only [hom_ext] using f.comm⟩
 #align category_theory.idempotents.karoubi_karoubi.inverse CategoryTheory.Idempotents.KaroubiKaroubi.inverse
+-/
 
 instance [Preadditive C] : Functor.Additive (inverse C) where
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.unitIso /-
 /-- The unit isomorphism of the equivalence -/
 @[simps]
 def unitIso : 𝟭 (Karoubi C) ≅ toKaroubi (Karoubi C) ⋙ inverse C :=
   eqToIso (Functor.ext (by tidy) (by tidy))
 #align category_theory.idempotents.karoubi_karoubi.unit_iso CategoryTheory.Idempotents.KaroubiKaroubi.unitIso
+-/
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.counitIso /-
 /-- The counit isomorphism of the equivalence -/
 @[simps]
 def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C))
@@ -83,7 +88,9 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
   hom_inv_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
   inv_hom_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
 #align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIso
+-/
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.equivalence /-
 /-- The equivalence `karoubi C ≌ karoubi (karoubi C)` -/
 @[simps]
 def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
@@ -93,14 +100,19 @@ def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
   unitIso := KaroubiKaroubi.unitIso C
   counitIso := KaroubiKaroubi.counitIso C
 #align category_theory.idempotents.karoubi_karoubi.equivalence CategoryTheory.Idempotents.KaroubiKaroubi.equivalence
+-/
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor /-
 instance equivalence.additive_functor [Preadditive C] : Functor.Additive (equivalence C).Functor :=
   by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor
+-/
 
+#print CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse /-
 instance equivalence.additive_inverse [Preadditive C] : Functor.Additive (equivalence C).inverse :=
   by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse
+-/
 
 end KaroubiKaroubi
 
Diff
@@ -60,11 +60,11 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
             { f := P.p.1
               comm := by
                 have h := P.idem
-                simp only [hom_ext, comp_f] at h
+                simp only [hom_ext, comp_f] at h 
                 erw [← assoc, h, comp_p] }
           comm := by
             have h := P.idem
-            simp only [hom_ext, comp_f] at h⊢
+            simp only [hom_ext, comp_f] at h ⊢
             erw [h, h] }
       naturality' := fun P Q f => by simpa only [hom_ext] using (p_comm f).symm }
   inv :=
@@ -73,11 +73,11 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
             { f := P.p.1
               comm := by
                 have h := P.idem
-                simp only [hom_ext, comp_f] at h
+                simp only [hom_ext, comp_f] at h 
                 erw [h, p_comp] }
           comm := by
             have h := P.idem
-            simp only [hom_ext, comp_f] at h⊢
+            simp only [hom_ext, comp_f] at h ⊢
             erw [h, h] }
       naturality' := fun P Q f => by simpa only [hom_ext] using (p_comm f).symm }
   hom_inv_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
Diff
@@ -34,12 +34,6 @@ namespace KaroubiKaroubi
 
 variable (C : Type _) [Category C]
 
-/- warning: category_theory.idempotents.karoubi_karoubi.inverse -> CategoryTheory.Idempotents.KaroubiKaroubi.inverse is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Functor.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.inverse CategoryTheory.Idempotents.KaroubiKaroubi.inverseₓ'. -/
 /-- The canonical functor `karoubi (karoubi C) ⥤ karoubi C` -/
 @[simps]
 def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
@@ -50,24 +44,12 @@ def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
 
 instance [Preadditive C] : Functor.Additive (inverse C) where
 
-/- warning: category_theory.idempotents.karoubi_karoubi.unit_iso -> CategoryTheory.Idempotents.KaroubiKaroubi.unitIso is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.id.{u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1))
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.id.{u2, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.unit_iso CategoryTheory.Idempotents.KaroubiKaroubi.unitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence -/
 @[simps]
 def unitIso : 𝟭 (Karoubi C) ≅ toKaroubi (Karoubi C) ⋙ inverse C :=
   eqToIso (Functor.ext (by tidy) (by tidy))
 #align category_theory.idempotents.karoubi_karoubi.unit_iso CategoryTheory.Idempotents.KaroubiKaroubi.unitIso
 
-/- warning: category_theory.idempotents.karoubi_karoubi.counit_iso -> CategoryTheory.Idempotents.KaroubiKaroubi.counitIso is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.id.{u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)))
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.id.{u2, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence -/
 @[simps]
 def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C))
@@ -102,12 +84,6 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
   inv_hom_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
 #align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIso
 
-/- warning: category_theory.idempotents.karoubi_karoubi.equivalence -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Equivalence.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Equivalence.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence CategoryTheory.Idempotents.KaroubiKaroubi.equivalenceₓ'. -/
 /-- The equivalence `karoubi C ≌ karoubi (karoubi C)` -/
 @[simps]
 def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
@@ -118,22 +94,10 @@ def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
   counitIso := KaroubiKaroubi.counitIso C
 #align category_theory.idempotents.karoubi_karoubi.equivalence CategoryTheory.Idempotents.KaroubiKaroubi.equivalence
 
-/- warning: category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Equivalence.functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Equivalence.functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functorₓ'. -/
 instance equivalence.additive_functor [Preadditive C] : Functor.Additive (equivalence C).Functor :=
   by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor
 
-/- warning: category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Equivalence.inverse.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
-but is expected to have type
-  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Equivalence.inverse.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
-Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverseₓ'. -/
 instance equivalence.additive_inverse [Preadditive C] : Functor.Additive (equivalence C).inverse :=
   by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse
Diff
@@ -98,12 +98,8 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
             simp only [hom_ext, comp_f] at h⊢
             erw [h, h] }
       naturality' := fun P Q f => by simpa only [hom_ext] using (p_comm f).symm }
-  hom_inv_id' := by
-    ext P
-    simpa only [hom_ext, id_eq] using P.idem
-  inv_hom_id' := by
-    ext P
-    simpa only [hom_ext, id_eq] using P.idem
+  hom_inv_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
+  inv_hom_id' := by ext P; simpa only [hom_ext, id_eq] using P.idem
 #align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIso
 
 /- warning: category_theory.idempotents.karoubi_karoubi.equivalence -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence is a dubious translation:
@@ -129,9 +125,7 @@ but is expected to have type
   forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Equivalence.functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
 Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functorₓ'. -/
 instance equivalence.additive_functor [Preadditive C] : Functor.Additive (equivalence C).Functor :=
-  by
-  dsimp
-  infer_instance
+  by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor
 
 /- warning: category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse is a dubious translation:
@@ -141,9 +135,7 @@ but is expected to have type
   forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Equivalence.inverse.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
 Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverseₓ'. -/
 instance equivalence.additive_inverse [Preadditive C] : Functor.Additive (equivalence C).inverse :=
-  by
-  dsimp
-  infer_instance
+  by dsimp; infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse
 
 end KaroubiKaroubi
Diff
@@ -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.karoubi_karoubi
-! leanprover-community/mathlib commit 31019c2504b17f85af7e0577585fad996935a317
+! 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
 /-!
 # Idempotence of the Karoubi envelope
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file, we construct the equivalence of categories
 `karoubi_karoubi.equivalence C : karoubi C ≌ karoubi (karoubi C)` for any category `C`.
 
Diff
@@ -31,6 +31,12 @@ namespace KaroubiKaroubi
 
 variable (C : Type _) [Category C]
 
+/- warning: category_theory.idempotents.karoubi_karoubi.inverse -> CategoryTheory.Idempotents.KaroubiKaroubi.inverse is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Functor.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.inverse CategoryTheory.Idempotents.KaroubiKaroubi.inverseₓ'. -/
 /-- The canonical functor `karoubi (karoubi C) ⥤ karoubi C` -/
 @[simps]
 def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
@@ -41,12 +47,24 @@ def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
 
 instance [Preadditive C] : Functor.Additive (inverse C) where
 
+/- warning: category_theory.idempotents.karoubi_karoubi.unit_iso -> CategoryTheory.Idempotents.KaroubiKaroubi.unitIso is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.id.{u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1))
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.id.{u2, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.unit_iso CategoryTheory.Idempotents.KaroubiKaroubi.unitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence -/
 @[simps]
 def unitIso : 𝟭 (Karoubi C) ≅ toKaroubi (Karoubi C) ⋙ inverse C :=
   eqToIso (Functor.ext (by tidy) (by tidy))
 #align category_theory.idempotents.karoubi_karoubi.unit_iso CategoryTheory.Idempotents.KaroubiKaroubi.unitIso
 
+/- warning: category_theory.idempotents.karoubi_karoubi.counit_iso -> CategoryTheory.Idempotents.KaroubiKaroubi.counitIso is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.id.{u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)))
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Iso.{max u1 u2, max u1 u2} (CategoryTheory.Functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.category.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.comp.{u2, u2, u2, max u1 u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.inverse.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.toKaroubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))) (CategoryTheory.Functor.id.{u2, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence -/
 @[simps]
 def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C))
@@ -85,6 +103,12 @@ def counitIso : inverse C ⋙ toKaroubi (Karoubi C) ≅ 𝟭 (Karoubi (Karoubi C
     simpa only [hom_ext, id_eq] using P.idem
 #align category_theory.idempotents.karoubi_karoubi.counit_iso CategoryTheory.Idempotents.KaroubiKaroubi.counitIso
 
+/- warning: category_theory.idempotents.karoubi_karoubi.equivalence -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Equivalence.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1))
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C], CategoryTheory.Equivalence.{u2, u2, max u2 u1, max u2 u1} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence CategoryTheory.Idempotents.KaroubiKaroubi.equivalenceₓ'. -/
 /-- The equivalence `karoubi C ≌ karoubi (karoubi C)` -/
 @[simps]
 def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
@@ -95,12 +119,24 @@ def equivalence : Karoubi C ≌ Karoubi (Karoubi C)
   counitIso := KaroubiKaroubi.counitIso C
 #align category_theory.idempotents.karoubi_karoubi.equivalence CategoryTheory.Idempotents.KaroubiKaroubi.equivalence
 
+/- warning: category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Equivalence.functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Equivalence.functor.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functorₓ'. -/
 instance equivalence.additive_functor [Preadditive C] : Functor.Additive (equivalence C).Functor :=
   by
   dsimp
   infer_instance
 #align category_theory.idempotents.karoubi_karoubi.equivalence.additive_functor CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_functor
 
+/- warning: category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse -> CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverse is a dubious translation:
+lean 3 declaration is
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.preadditive.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Equivalence.inverse.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.CategoryTheory.category.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
+but is expected to have type
+  forall (C : Type.{u1}) [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1], CategoryTheory.Functor.Additive.{max u1 u2, max u1 u2, u2, u2} (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Idempotents.instPreadditiveKaroubiInstCategoryKaroubi.{u1, u2} C _inst_1 _inst_2) (CategoryTheory.Equivalence.inverse.{u2, u2, max u1 u2, max u1 u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.{max u2 u1, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{max u1 u2, u2} (CategoryTheory.Idempotents.Karoubi.{u1, u2} C _inst_1) (CategoryTheory.Idempotents.Karoubi.instCategoryKaroubi.{u1, u2} C _inst_1)) (CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.{u1, u2} C _inst_1))
+Case conversion may be inaccurate. Consider using '#align category_theory.idempotents.karoubi_karoubi.equivalence.additive_inverse CategoryTheory.Idempotents.KaroubiKaroubi.equivalence.additive_inverseₓ'. -/
 instance equivalence.additive_inverse [Preadditive C] : Functor.Additive (equivalence C).inverse :=
   by
   dsimp
Diff
@@ -35,7 +35,7 @@ variable (C : Type _) [Category C]
 @[simps]
 def inverse : Karoubi (Karoubi C) ⥤ Karoubi C
     where
-  obj P := ⟨P.x.x, P.p.f, by simpa only [hom_ext] using P.idem⟩
+  obj P := ⟨P.pt.pt, P.p.f, by simpa only [hom_ext] using P.idem⟩
   map P Q f := ⟨f.f.f, by simpa only [hom_ext] using f.comm⟩
 #align category_theory.idempotents.karoubi_karoubi.inverse CategoryTheory.Idempotents.KaroubiKaroubi.inverse
 

Changes in mathlib4

mathlib3
mathlib4
chore: classify added to ease automation porting notes (#10689)
  • Classifies by adding issue number (#10688) to porting notes claiming anything semantically equivalent to added to ease automation.
  • Enforce singular convention converting "porting notes" to "porting note".
Diff
@@ -28,7 +28,7 @@ namespace KaroubiKaroubi
 
 variable (C : Type*) [Category C]
 
--- porting note: added to ease automation
+-- Porting note (#10688): added to ease automation
 @[reassoc (attr := simp)]
 lemma idem_f (P : Karoubi (Karoubi C)) : P.p.f ≫ P.p.f = P.p.f := by
   simpa only [hom_ext_iff, comp_f] using P.idem
chore: only four spaces for subsequent lines (#7286)

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

Diff
@@ -34,8 +34,7 @@ lemma idem_f (P : Karoubi (Karoubi C)) : P.p.f ≫ P.p.f = P.p.f := by
   simpa only [hom_ext_iff, comp_f] using P.idem
 
 @[reassoc]
-lemma p_comm_f {P Q : Karoubi (Karoubi C)} (f : P ⟶ Q) :
-  P.p.f ≫ f.f.f = f.f.f ≫ Q.p.f := by
+lemma p_comm_f {P Q : Karoubi (Karoubi C)} (f : P ⟶ Q) : P.p.f ≫ f.f.f = f.f.f ≫ Q.p.f := by
   simpa only [hom_ext_iff, comp_f] using p_comm f
 
 attribute [local simp] p_comm_f
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -26,7 +26,7 @@ namespace Idempotents
 
 namespace KaroubiKaroubi
 
-variable (C : Type _) [Category C]
+variable (C : Type*) [Category C]
 
 -- porting note: added to ease automation
 @[reassoc (attr := simp)]
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 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.karoubi_karoubi
-! leanprover-community/mathlib commit 31019c2504b17f85af7e0577585fad996935a317
-! 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.karoubi_karoubi from "leanprover-community/mathlib"@"31019c2504b17f85af7e0577585fad996935a317"
+
 /-!
 # Idempotence of the Karoubi envelope
 
feat: port CategoryTheory.Idempotents.KaroubiKaroubi (#3298)

Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com>

Dependencies 3 + 316

317 files ported (99.1%)
125847 lines ported (99.2%)
Show graph

The unported dependencies are