category_theory.preadditive.functor_categoryMathlib.CategoryTheory.Preadditive.FunctorCategory

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -115,8 +115,7 @@ theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α
 #print CategoryTheory.NatTrans.app_sum /-
 @[simp]
 theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
-    (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by rw [← app_hom_apply, AddMonoidHom.map_sum];
-  rfl
+    (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by rw [← app_hom_apply, map_sum]; rfl
 #align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sum
 -/
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 -/
-import Mathbin.CategoryTheory.Preadditive.Basic
+import CategoryTheory.Preadditive.Basic
 
 #align_import category_theory.preadditive.functor_category from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
-
-! This file was ported from Lean 3 source module category_theory.preadditive.functor_category
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Preadditive.Basic
 
+#align_import category_theory.preadditive.functor_category from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 # Preadditive structure on functor categories
 
Diff
@@ -61,6 +61,7 @@ namespace NatTrans
 
 variable {F G : C ⥤ D}
 
+#print CategoryTheory.NatTrans.appHom /-
 /-- Application of a natural transformation at a fixed object,
 as group homomorphism -/
 @[simps]
@@ -70,42 +71,57 @@ def appHom (X : C) : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)
   map_zero' := rfl
   map_add' _ _ := rfl
 #align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHom
+-/
 
+#print CategoryTheory.NatTrans.app_zero /-
 @[simp]
 theorem app_zero (X : C) : (0 : F ⟶ G).app X = 0 :=
   rfl
 #align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zero
+-/
 
+#print CategoryTheory.NatTrans.app_add /-
 @[simp]
 theorem app_add (X : C) (α β : F ⟶ G) : (α + β).app X = α.app X + β.app X :=
   rfl
 #align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_add
+-/
 
+#print CategoryTheory.NatTrans.app_sub /-
 @[simp]
 theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app X :=
   rfl
 #align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_sub
+-/
 
+#print CategoryTheory.NatTrans.app_neg /-
 @[simp]
 theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X :=
   rfl
 #align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_neg
+-/
 
+#print CategoryTheory.NatTrans.app_nsmul /-
 @[simp]
 theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α.app X :=
   (appHom X).map_nsmul α n
 #align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmul
+-/
 
+#print CategoryTheory.NatTrans.app_zsmul /-
 @[simp]
 theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α.app X :=
   (appHom X : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)).map_zsmul α n
 #align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmul
+-/
 
+#print CategoryTheory.NatTrans.app_sum /-
 @[simp]
 theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
     (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by rw [← app_hom_apply, AddMonoidHom.map_sum];
   rfl
 #align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sum
+-/
 
 end NatTrans
 
Diff
@@ -36,24 +36,24 @@ instance functorCategoryPreadditive : Preadditive (C ⥤ D)
   homGroup F G :=
     { add := fun α β =>
         { app := fun X => α.app X + β.app X
-          naturality' := by intros ; rw [comp_add, add_comp, α.naturality, β.naturality] }
+          naturality' := by intros; rw [comp_add, add_comp, α.naturality, β.naturality] }
       zero :=
         { app := fun X => 0
-          naturality' := by intros ; rw [zero_comp, comp_zero] }
+          naturality' := by intros; rw [zero_comp, comp_zero] }
       neg := fun α =>
         { app := fun X => -α.app X
-          naturality' := by intros ; rw [comp_neg, neg_comp, α.naturality] }
+          naturality' := by intros; rw [comp_neg, neg_comp, α.naturality] }
       sub := fun α β =>
         { app := fun X => α.app X - β.app X
-          naturality' := by intros ; rw [comp_sub, sub_comp, α.naturality, β.naturality] }
-      add_assoc := by intros ; ext; apply add_assoc
-      zero_add := by intros ; ext; apply zero_add
-      add_zero := by intros ; ext; apply add_zero
-      sub_eq_add_neg := by intros ; ext; apply sub_eq_add_neg
-      add_left_neg := by intros ; ext; apply add_left_neg
-      add_comm := by intros ; ext; apply add_comm }
-  add_comp := by intros ; ext; apply add_comp
-  comp_add := by intros ; ext; apply comp_add
+          naturality' := by intros; rw [comp_sub, sub_comp, α.naturality, β.naturality] }
+      add_assoc := by intros; ext; apply add_assoc
+      zero_add := by intros; ext; apply zero_add
+      add_zero := by intros; ext; apply add_zero
+      sub_eq_add_neg := by intros; ext; apply sub_eq_add_neg
+      add_left_neg := by intros; ext; apply add_left_neg
+      add_comm := by intros; ext; apply add_comm }
+  add_comp := by intros; ext; apply add_comp
+  comp_add := by intros; ext; apply comp_add
 #align category_theory.functor_category_preadditive CategoryTheory.functorCategoryPreadditive
 -/
 
Diff
@@ -22,7 +22,7 @@ then `C ⥤ D` is also preadditive.
 -/
 
 
-open BigOperators
+open scoped BigOperators
 
 namespace CategoryTheory
 
Diff
@@ -61,9 +61,6 @@ namespace NatTrans
 
 variable {F G : C ⥤ D}
 
-/- warning: category_theory.nat_trans.app_hom -> CategoryTheory.NatTrans.appHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHomₓ'. -/
 /-- Application of a natural transformation at a fixed object,
 as group homomorphism -/
 @[simps]
@@ -74,63 +71,36 @@ def appHom (X : C) : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)
   map_add' _ _ := rfl
 #align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHom
 
-/- warning: category_theory.nat_trans.app_zero -> CategoryTheory.NatTrans.app_zero 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (OfNat.ofNat.{max u1 u4} (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))) F G) 0 (OfNat.mk.{max u1 u4} (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))) F G) 0 (Zero.zero.{max u1 u4} (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))) F G) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{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.Limits.CategoryTheory.Functor.hasZeroMorphisms.{u3, u1, u4, u2} C _inst_1 D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u2} D _inst_2 _inst_3)) F G)))) X) (OfNat.ofNat.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) 0 (OfNat.mk.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) 0 (Zero.zero.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u4, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u2} D _inst_2 _inst_3) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))
-but is expected to have type
-  forall {C : Type.{u1}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2} (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u2, u4, u1, u3} C _inst_1 D _inst_2 F G (OfNat.ofNat.{max u1 u4} (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) F G) 0 (Zero.toOfNat0.{max u1 u4} (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) F G) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Limits.instHasZeroMorphismsFunctorCategory.{u2, u1, u4, u3} C _inst_1 D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 _inst_3)) F G))) X) (OfNat.ofNat.{u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) 0 (Zero.toOfNat0.{u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u4, u3} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 _inst_3) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X))))
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zeroₓ'. -/
 @[simp]
 theorem app_zero (X : C) : (0 : F ⟶ G).app X = 0 :=
   rfl
 #align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zero
 
-/- warning: category_theory.nat_trans.app_add -> CategoryTheory.NatTrans.app_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_addₓ'. -/
 @[simp]
 theorem app_add (X : C) (α β : F ⟶ G) : (α + β).app X = α.app X + β.app X :=
   rfl
 #align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_add
 
-/- warning: category_theory.nat_trans.app_sub -> CategoryTheory.NatTrans.app_sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_subₓ'. -/
 @[simp]
 theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app X :=
   rfl
 #align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_sub
 
-/- warning: category_theory.nat_trans.app_neg -> CategoryTheory.NatTrans.app_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_negₓ'. -/
 @[simp]
 theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X :=
   rfl
 #align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_neg
 
-/- warning: category_theory.nat_trans.app_nsmul -> CategoryTheory.NatTrans.app_nsmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmulₓ'. -/
 @[simp]
 theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α.app X :=
   (appHom X).map_nsmul α n
 #align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmul
 
-/- warning: category_theory.nat_trans.app_zsmul -> CategoryTheory.NatTrans.app_zsmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmulₓ'. -/
 @[simp]
 theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α.app X :=
   (appHom X : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)).map_zsmul α n
 #align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmul
 
-/- warning: category_theory.nat_trans.app_sum -> CategoryTheory.NatTrans.app_sum 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {ι : Type.{u5}} (s : Finset.{u5} ι) (X : C) (α : ι -> (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))) F G)), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (Finset.sum.{max u1 u4, u5} (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))) F G) ι (AddCommGroup.toAddCommMonoid.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)) s (fun (i : ι) => α i)) X) (Finset.sum.{u4, u5} (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) ι (AddCommGroup.toAddCommMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))) s (fun (i : ι) => CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (α i) X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {ι : Type.{u5}} (s : Finset.{u5} ι) (X : C) (α : ι -> (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G)), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (Finset.sum.{max u4 u3, u5} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) ι (AddCommGroup.toAddCommMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)) s (fun (i : ι) => α i)) X) (Finset.sum.{u3, u5} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) ι (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))) s (fun (i : ι) => CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (α i) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sumₓ'. -/
 @[simp]
 theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
     (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by rw [← app_hom_apply, AddMonoidHom.map_sum];
Diff
@@ -36,56 +36,24 @@ instance functorCategoryPreadditive : Preadditive (C ⥤ D)
   homGroup F G :=
     { add := fun α β =>
         { app := fun X => α.app X + β.app X
-          naturality' := by
-            intros
-            rw [comp_add, add_comp, α.naturality, β.naturality] }
+          naturality' := by intros ; rw [comp_add, add_comp, α.naturality, β.naturality] }
       zero :=
         { app := fun X => 0
-          naturality' := by
-            intros
-            rw [zero_comp, comp_zero] }
+          naturality' := by intros ; rw [zero_comp, comp_zero] }
       neg := fun α =>
         { app := fun X => -α.app X
-          naturality' := by
-            intros
-            rw [comp_neg, neg_comp, α.naturality] }
+          naturality' := by intros ; rw [comp_neg, neg_comp, α.naturality] }
       sub := fun α β =>
         { app := fun X => α.app X - β.app X
-          naturality' := by
-            intros
-            rw [comp_sub, sub_comp, α.naturality, β.naturality] }
-      add_assoc := by
-        intros
-        ext
-        apply add_assoc
-      zero_add := by
-        intros
-        ext
-        apply zero_add
-      add_zero := by
-        intros
-        ext
-        apply add_zero
-      sub_eq_add_neg := by
-        intros
-        ext
-        apply sub_eq_add_neg
-      add_left_neg := by
-        intros
-        ext
-        apply add_left_neg
-      add_comm := by
-        intros
-        ext
-        apply add_comm }
-  add_comp := by
-    intros
-    ext
-    apply add_comp
-  comp_add := by
-    intros
-    ext
-    apply comp_add
+          naturality' := by intros ; rw [comp_sub, sub_comp, α.naturality, β.naturality] }
+      add_assoc := by intros ; ext; apply add_assoc
+      zero_add := by intros ; ext; apply zero_add
+      add_zero := by intros ; ext; apply add_zero
+      sub_eq_add_neg := by intros ; ext; apply sub_eq_add_neg
+      add_left_neg := by intros ; ext; apply add_left_neg
+      add_comm := by intros ; ext; apply add_comm }
+  add_comp := by intros ; ext; apply add_comp
+  comp_add := by intros ; ext; apply comp_add
 #align category_theory.functor_category_preadditive CategoryTheory.functorCategoryPreadditive
 -/
 
@@ -165,9 +133,7 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sumₓ'. -/
 @[simp]
 theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
-    (∑ i in s, α i).app X = ∑ i in s, (α i).app X :=
-  by
-  rw [← app_hom_apply, AddMonoidHom.map_sum]
+    (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by rw [← app_hom_apply, AddMonoidHom.map_sum];
   rfl
 #align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sum
 
Diff
@@ -94,10 +94,7 @@ namespace NatTrans
 variable {F G : C ⥤ D}
 
 /- warning: category_theory.nat_trans.app_hom -> CategoryTheory.NatTrans.appHom 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), AddMonoidHom.{max u1 u4, u4} (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))) F G) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.toAddZeroClass.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) (AddMonoid.toAddZeroClass.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))))
-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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), AddMonoidHom.{max u1 u4, u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.toAddZeroClass.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (CategoryTheory.Preadditive.homGroup.{max u1 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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHomₓ'. -/
 /-- Application of a natural transformation at a fixed object,
 as group homomorphism -/
@@ -121,10 +118,7 @@ theorem app_zero (X : C) : (0 : F ⟶ G).app X = 0 :=
 #align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zero
 
 /- warning: category_theory.nat_trans.app_add -> CategoryTheory.NatTrans.app_add 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (β : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (HAdd.hAdd.{max u1 u4, max u1 u4, max u1 u4} (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))) F G) (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))) F G) (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))) F G) (instHAdd.{max u1 u4} (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))) F G) (AddZeroClass.toHasAdd.{max u1 u4} (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))) F G) (AddMonoid.toAddZeroClass.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))))) α β) X) (HAdd.hAdd.{u4, u4, 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (instHAdd.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddZeroClass.toHasAdd.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.toAddZeroClass.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G β X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HAdd.hAdd.{max u4 u3, max u4 u3, max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHAdd.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddZeroClass.toAdd.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddMonoid.toAddZeroClass.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toAddMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))))) α β) X) (HAdd.hAdd.{u3, u3, u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHAdd.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G β X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_addₓ'. -/
 @[simp]
 theorem app_add (X : C) (α β : F ⟶ G) : (α + β).app X = α.app X + β.app X :=
@@ -132,10 +126,7 @@ theorem app_add (X : C) (α β : F ⟶ G) : (α + β).app X = α.app X + β.app
 #align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_add
 
 /- warning: category_theory.nat_trans.app_sub -> CategoryTheory.NatTrans.app_sub 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (β : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (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))) F G) (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))) F G) (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))) F G) (instHSub.{max u1 u4} (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))) F G) (SubNegMonoid.toHasSub.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) α β) X) (HSub.hSub.{u4, u4, 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (instHSub.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toHasSub.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G β X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSub.hSub.{max u4 u3, max u4 u3, max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSub.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toSub.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))) α β) X) (HSub.hSub.{u3, u3, u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSub.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toSub.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G β X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_subₓ'. -/
 @[simp]
 theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app X :=
@@ -143,10 +134,7 @@ theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app
 #align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_sub
 
 /- warning: category_theory.nat_trans.app_neg -> CategoryTheory.NatTrans.app_neg 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (Neg.neg.{max u1 u4} (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))) F G) (SubNegMonoid.toHasNeg.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)))) α) X) (Neg.neg.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toHasNeg.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (Neg.neg.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (NegZeroClass.toNeg.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegZeroMonoid.toNegZeroClass.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubtractionMonoid.toSubNegZeroMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubtractionCommMonoid.toSubtractionMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toDivisionAddCommMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)))))) α) X) (Neg.neg.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (NegZeroClass.toNeg.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegZeroMonoid.toNegZeroClass.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toDivisionAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_negₓ'. -/
 @[simp]
 theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X :=
@@ -154,10 +142,7 @@ theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X :=
 #align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_neg
 
 /- warning: category_theory.nat_trans.app_nsmul -> CategoryTheory.NatTrans.app_nsmul 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (n : Nat), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (SMul.smul.{0, max u1 u4} Nat (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))) F G) (AddMonoid.SMul.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) n α) X) (SMul.smul.{0, u4} Nat (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.SMul.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))) n (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (n : Nat), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSMul.hSMul.{0, max u4 u3, max u4 u3} Nat (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSMul.{0, max u4 u3} Nat (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddMonoid.SMul.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toAddMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)))))) n α) X) (HSMul.hSMul.{0, u3, u3} Nat (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSMul.{0, u3} Nat (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.SMul.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))))))) n (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmulₓ'. -/
 @[simp]
 theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α.app X :=
@@ -165,10 +150,7 @@ theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α
 #align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmul
 
 /- warning: category_theory.nat_trans.app_zsmul -> CategoryTheory.NatTrans.app_zsmul 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (n : Int), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (SMul.smul.{0, max u1 u4} Int (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))) F G) (SubNegMonoid.SMulInt.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)))) n α) X) (SMul.smul.{0, u4} Int (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.SMulInt.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))) n (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (n : Int), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSMul.hSMul.{0, max u4 u3, max u4 u3} Int (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSMul.{0, max u4 u3} Int (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.SMulInt.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))) n α) X) (HSMul.hSMul.{0, u3, u3} Int (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSMul.{0, u3} Int (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.SMulInt.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))) n (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmulₓ'. -/
 @[simp]
 theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α.app X :=
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
 
 ! This file was ported from Lean 3 source module category_theory.preadditive.functor_category
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! 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.Preadditive.Basic
 /-!
 # Preadditive structure on functor categories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 If `C` and `D` are categories and `D` is preadditive,
 then `C ⥤ D` is also preadditive.
 
Diff
@@ -27,6 +27,7 @@ open CategoryTheory.Limits Preadditive
 
 variable {C D : Type _} [Category C] [Category D] [Preadditive D]
 
+#print CategoryTheory.functorCategoryPreadditive /-
 instance functorCategoryPreadditive : Preadditive (C ⥤ D)
     where
   homGroup F G :=
@@ -83,11 +84,18 @@ instance functorCategoryPreadditive : Preadditive (C ⥤ D)
     ext
     apply comp_add
 #align category_theory.functor_category_preadditive CategoryTheory.functorCategoryPreadditive
+-/
 
 namespace NatTrans
 
 variable {F G : C ⥤ D}
 
+/- warning: category_theory.nat_trans.app_hom -> CategoryTheory.NatTrans.appHom 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), AddMonoidHom.{max u1 u4, u4} (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))) F G) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.toAddZeroClass.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) (AddMonoid.toAddZeroClass.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))))
+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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), AddMonoidHom.{max u1 u4, u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.toAddZeroClass.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (Quiver.Hom.{succ (max u1 u4), max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 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))) F G) (CategoryTheory.Preadditive.homGroup.{max u1 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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u3, succ u4, u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} D (CategoryTheory.Category.toCategoryStruct.{u4, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u3, u4, u1, u2} C _inst_1 D _inst_2 G) X))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHomₓ'. -/
 /-- Application of a natural transformation at a fixed object,
 as group homomorphism -/
 @[simps]
@@ -98,36 +106,78 @@ def appHom (X : C) : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)
   map_add' _ _ := rfl
 #align category_theory.nat_trans.app_hom CategoryTheory.NatTrans.appHom
 
+/- warning: category_theory.nat_trans.app_zero -> CategoryTheory.NatTrans.app_zero 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (OfNat.ofNat.{max u1 u4} (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))) F G) 0 (OfNat.mk.{max u1 u4} (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))) F G) 0 (Zero.zero.{max u1 u4} (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))) F G) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{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.Limits.CategoryTheory.Functor.hasZeroMorphisms.{u3, u1, u4, u2} C _inst_1 D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u2} D _inst_2 _inst_3)) F G)))) X) (OfNat.ofNat.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) 0 (OfNat.mk.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) 0 (Zero.zero.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u4, u2} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u2} D _inst_2 _inst_3) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))
+but is expected to have type
+  forall {C : Type.{u1}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} D _inst_2] {F : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2} (X : C), Eq.{succ u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u2, u4, u1, u3} C _inst_1 D _inst_2 F G (OfNat.ofNat.{max u1 u4} (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) F G) 0 (Zero.toOfNat0.{max u1 u4} (Quiver.Hom.{max (succ u1) (succ u4), max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2))) F G) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{max u1 u4, max (max (max u1 u3) u2) u4} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Limits.instHasZeroMorphismsFunctorCategory.{u2, u1, u4, u3} C _inst_1 D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 _inst_3)) F G))) X) (OfNat.ofNat.{u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) 0 (Zero.toOfNat0.{u4} (Quiver.Hom.{succ u4, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u4, u3} D _inst_2 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u4, u3} D _inst_2 _inst_3) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u2, succ u4, u1, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} C (CategoryTheory.Category.toCategoryStruct.{u2, u1} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} D (CategoryTheory.Category.toCategoryStruct.{u4, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u2, u4, u1, u3} C _inst_1 D _inst_2 G) X))))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zeroₓ'. -/
 @[simp]
 theorem app_zero (X : C) : (0 : F ⟶ G).app X = 0 :=
   rfl
 #align category_theory.nat_trans.app_zero CategoryTheory.NatTrans.app_zero
 
+/- warning: category_theory.nat_trans.app_add -> CategoryTheory.NatTrans.app_add 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (β : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (HAdd.hAdd.{max u1 u4, max u1 u4, max u1 u4} (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))) F G) (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))) F G) (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))) F G) (instHAdd.{max u1 u4} (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))) F G) (AddZeroClass.toHasAdd.{max u1 u4} (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))) F G) (AddMonoid.toAddZeroClass.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))))) α β) X) (HAdd.hAdd.{u4, u4, 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (instHAdd.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddZeroClass.toHasAdd.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.toAddZeroClass.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G β X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HAdd.hAdd.{max u4 u3, max u4 u3, max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHAdd.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddZeroClass.toAdd.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddMonoid.toAddZeroClass.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toAddMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))))) α β) X) (HAdd.hAdd.{u3, u3, u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHAdd.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G β X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_addₓ'. -/
 @[simp]
 theorem app_add (X : C) (α β : F ⟶ G) : (α + β).app X = α.app X + β.app X :=
   rfl
 #align category_theory.nat_trans.app_add CategoryTheory.NatTrans.app_add
 
+/- warning: category_theory.nat_trans.app_sub -> CategoryTheory.NatTrans.app_sub 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (β : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (HSub.hSub.{max u1 u4, max u1 u4, max u1 u4} (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))) F G) (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))) F G) (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))) F G) (instHSub.{max u1 u4} (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))) F G) (SubNegMonoid.toHasSub.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) α β) X) (HSub.hSub.{u4, u4, 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (instHSub.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toHasSub.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G β X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (β : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSub.hSub.{max u4 u3, max u4 u3, max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSub.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toSub.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))) α β) X) (HSub.hSub.{u3, u3, u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSub.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toSub.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G β X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_subₓ'. -/
 @[simp]
 theorem app_sub (X : C) (α β : F ⟶ G) : (α - β).app X = α.app X - β.app X :=
   rfl
 #align category_theory.nat_trans.app_sub CategoryTheory.NatTrans.app_sub
 
+/- warning: category_theory.nat_trans.app_neg -> CategoryTheory.NatTrans.app_neg 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (Neg.neg.{max u1 u4} (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))) F G) (SubNegMonoid.toHasNeg.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)))) α) X) (Neg.neg.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toHasNeg.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (Neg.neg.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (NegZeroClass.toNeg.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegZeroMonoid.toNegZeroClass.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubtractionMonoid.toSubNegZeroMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubtractionCommMonoid.toSubtractionMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toDivisionAddCommMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)))))) α) X) (Neg.neg.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (NegZeroClass.toNeg.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegZeroMonoid.toNegZeroClass.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubtractionMonoid.toSubNegZeroMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubtractionCommMonoid.toSubtractionMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toDivisionAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))))))) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_negₓ'. -/
 @[simp]
 theorem app_neg (X : C) (α : F ⟶ G) : (-α).app X = -α.app X :=
   rfl
 #align category_theory.nat_trans.app_neg CategoryTheory.NatTrans.app_neg
 
+/- warning: category_theory.nat_trans.app_nsmul -> CategoryTheory.NatTrans.app_nsmul 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (n : Nat), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (SMul.smul.{0, max u1 u4} Nat (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))) F G) (AddMonoid.SMul.{max u1 u4} (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))) F G) (SubNegMonoid.toAddMonoid.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G))))) n α) X) (SMul.smul.{0, u4} Nat (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddMonoid.SMul.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.toAddMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)))))) n (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (n : Nat), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSMul.hSMul.{0, max u4 u3, max u4 u3} Nat (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSMul.{0, max u4 u3} Nat (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddMonoid.SMul.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.toAddMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)))))) n α) X) (HSMul.hSMul.{0, u3, u3} Nat (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSMul.{0, u3} Nat (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddMonoid.SMul.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))))))) n (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmulₓ'. -/
 @[simp]
 theorem app_nsmul (X : C) (α : F ⟶ G) (n : ℕ) : (n • α).app X = n • α.app X :=
   (appHom X).map_nsmul α n
 #align category_theory.nat_trans.app_nsmul CategoryTheory.NatTrans.app_nsmul
 
+/- warning: category_theory.nat_trans.app_zsmul -> CategoryTheory.NatTrans.app_zsmul 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} (X : C) (α : 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))) F G) (n : Int), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (SMul.smul.{0, max u1 u4} Int (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))) F G) (SubNegMonoid.SMulInt.{max u1 u4} (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))) F G) (AddGroup.toSubNegMonoid.{max u1 u4} (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))) F G) (AddCommGroup.toAddGroup.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)))) n α) X) (SMul.smul.{0, u4} Int (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (SubNegMonoid.SMulInt.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddGroup.toSubNegMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (AddCommGroup.toAddGroup.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))))) n (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G α X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} (X : C) (α : Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (n : Int), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (HSMul.hSMul.{0, max u4 u3, max u4 u3} Int (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (instHSMul.{0, max u4 u3} Int (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (SubNegMonoid.SMulInt.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddGroup.toSubNegMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (AddCommGroup.toAddGroup.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G))))) n α) X) (HSMul.hSMul.{0, u3, u3} Int (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (instHSMul.{0, u3} Int (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (SubNegMonoid.SMulInt.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)))))) n (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G α X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmulₓ'. -/
 @[simp]
 theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α.app X :=
   (appHom X : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)).map_zsmul α n
 #align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmul
 
+/- warning: category_theory.nat_trans.app_sum -> CategoryTheory.NatTrans.app_sum 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_3 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] {F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2} {ι : Type.{u5}} (s : Finset.{u5} ι) (X : C) (α : ι -> (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))) F G)), 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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (Finset.sum.{max u1 u4, u5} (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))) F G) ι (AddCommGroup.toAddCommMonoid.{max u1 u4} (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))) F G) (CategoryTheory.Preadditive.homGroup.{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.functorCategoryPreadditive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3) F G)) s (fun (i : ι) => α i)) X) (Finset.sum.{u4, u5} (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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) ι (AddCommGroup.toAddCommMonoid.{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, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_3 (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X) (CategoryTheory.Functor.obj.{u3, u4, u1, u2} C _inst_1 D _inst_2 G X))) s (fun (i : ι) => CategoryTheory.NatTrans.app.{u3, u4, u1, u2} C _inst_1 D _inst_2 F G (α i) X))
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u4} C] [_inst_2 : CategoryTheory.Category.{u3, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u2} D _inst_2] {F : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {G : CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2} {ι : Type.{u5}} (s : Finset.{u5} ι) (X : C) (α : ι -> (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G)), Eq.{succ u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (Finset.sum.{max u4 u3, u5} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) ι (AddCommGroup.toAddCommMonoid.{max u4 u3} (Quiver.Hom.{max (succ u4) (succ u3), max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2))) F G) (CategoryTheory.Preadditive.homGroup.{max u4 u3, max (max (max u4 u2) u1) u3} (CategoryTheory.Functor.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u4, u2} C _inst_1 D _inst_2) (CategoryTheory.functorCategoryPreadditive.{u4, u2, u1, u3} C D _inst_1 _inst_2 _inst_3) F G)) s (fun (i : ι) => α i)) X) (Finset.sum.{u3, u5} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) ι (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u2} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X)) (CategoryTheory.Preadditive.homGroup.{u3, u2} D _inst_2 _inst_3 (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u1, succ u3, u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u4} C (CategoryTheory.Category.toCategoryStruct.{u1, u4} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u2} D (CategoryTheory.Category.toCategoryStruct.{u3, u2} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u3, u4, u2} C _inst_1 D _inst_2 G) X))) s (fun (i : ι) => CategoryTheory.NatTrans.app.{u1, u3, u4, u2} C _inst_1 D _inst_2 F G (α i) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sumₓ'. -/
 @[simp]
 theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
     (∑ i in s, α i).app X = ∑ i in s, (α i).app X :=
Diff
@@ -74,11 +74,11 @@ instance functorCategoryPreadditive : Preadditive (C ⥤ D)
         intros
         ext
         apply add_comm }
-  add_comp' := by
+  add_comp := by
     intros
     ext
     apply add_comp
-  comp_add' := by
+  comp_add := by
     intros
     ext
     apply comp_add

Changes in mathlib4

mathlib3
mathlib4
feat(Algebra/Homology): action of a bifunctor on cochain complexes and shifts (#10880)

In this PR, we introduce the abbreviation CochainComplex.mapBifunctor K₁ K₂ F for K₁ and K₂ two cochain complexes, and F a bifunctor. We obtain isomorphisms which express the behavior of this construction with respect to shifts on both variables: mapBifunctor (K₁⟦x⟧) K₂ F ≅ (mapBifunctor K₁ K₂ F)⟦x⟧ and mapBifunctor K₁ (K₂⟦y⟧) F ≅ (mapBifunctor K₁ K₂ F)⟦y⟧.

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

Diff
@@ -122,6 +122,10 @@ theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α
   (appHom X : (F ⟶ G) →+ (F.obj X ⟶ G.obj X)).map_zsmul α n
 #align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmul
 
+@[simp]
+theorem app_units_zsmul (X : C) (α : F ⟶ G) (n : ℤˣ) : (n • α).app X = n • α.app X := by
+  apply app_zsmul
+
 @[simp]
 theorem app_sum {ι : Type*} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
     (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by
refactor: do not allow nsmul and zsmul to default automatically (#6262)

This PR removes the default values for nsmul and zsmul, forcing the user to populate them manually. The previous behavior can be obtained by writing nsmul := nsmulRec and zsmul := zsmulRec, which is now in the docstring for these fields.

The motivation here is to make it more obvious when module diamonds are being introduced, or at least where they might be hiding; you can now simply search for nsmulRec in the source code.

Arguably we should do the same thing for intCast, natCast, pow, and zpow too, but diamonds are less common in those fields, so I'll leave them to a subsequent PR.

Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -23,12 +23,19 @@ open CategoryTheory.Limits Preadditive
 
 variable {C D : Type*} [Category C] [Category D] [Preadditive D]
 
-instance functorCategoryPreadditive : Preadditive (C ⥤ D)
-    where
+instance {F G : C ⥤ D} : Zero (F ⟶ G) where
+  zero := { app := fun X => 0 }
+
+instance {F G : C ⥤ D} : Add (F ⟶ G) where
+  add α β := { app := fun X => α.app X + β.app X }
+
+instance {F G : C ⥤ D} : Neg (F ⟶ G) where
+  neg α := { app := fun X => -α.app X }
+
+instance functorCategoryPreadditive : Preadditive (C ⥤ D) where
   homGroup F G :=
-    { add := fun α β => { app := fun X => α.app X + β.app X }
-      zero := { app := fun X => 0 }
-      neg := fun α => { app := fun X => -α.app X }
+    { nsmul := nsmulRec
+      zsmul := zsmulRec
       sub := fun α β => { app := fun X => α.app X - β.app X }
       add_assoc := by
         intros
perf (Preadditive.FunctorCategory): use dsimp before ext (#9637)

dsimp seems to significantly improve the performance of ext here and elsewhere.

Diff
@@ -15,7 +15,6 @@ then `C ⥤ D` is also preadditive.
 
 -/
 
-
 open BigOperators
 
 namespace CategoryTheory
@@ -37,30 +36,37 @@ instance functorCategoryPreadditive : Preadditive (C ⥤ D)
         apply add_assoc
       zero_add := by
         intros
+        dsimp
         ext
         apply zero_add
       add_zero := by
         intros
+        dsimp
         ext
         apply add_zero
       add_comm := by
         intros
+        dsimp
         ext
         apply add_comm
       sub_eq_add_neg := by
         intros
+        dsimp
         ext
         apply sub_eq_add_neg
       add_left_neg := by
         intros
+        dsimp
         ext
         apply add_left_neg }
   add_comp := by
     intros
+    dsimp
     ext
     apply add_comp
   comp_add := by
     intros
+    dsimp
     ext
     apply comp_add
 #align category_theory.functor_category_preadditive CategoryTheory.functorCategoryPreadditive
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
@@ -22,7 +22,7 @@ namespace CategoryTheory
 
 open CategoryTheory.Limits Preadditive
 
-variable {C D : Type _} [Category C] [Category D] [Preadditive D]
+variable {C D : Type*} [Category C] [Category D] [Preadditive D]
 
 instance functorCategoryPreadditive : Preadditive (C ⥤ D)
     where
@@ -110,7 +110,7 @@ theorem app_zsmul (X : C) (α : F ⟶ G) (n : ℤ) : (n • α).app X = n • α
 #align category_theory.nat_trans.app_zsmul CategoryTheory.NatTrans.app_zsmul
 
 @[simp]
-theorem app_sum {ι : Type _} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
+theorem app_sum {ι : Type*} (s : Finset ι) (X : C) (α : ι → (F ⟶ G)) :
     (∑ i in s, α i).app X = ∑ i in s, (α i).app X := by
   simp only [← appHom_apply, map_sum]
 #align category_theory.nat_trans.app_sum CategoryTheory.NatTrans.app_sum
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) 2021 Johan Commelin. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin
-
-! This file was ported from Lean 3 source module category_theory.preadditive.functor_category
-! leanprover-community/mathlib commit 829895f162a1f29d0133f4b3538f4cd1fb5bffd3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Preadditive.Basic
 
+#align_import category_theory.preadditive.functor_category from "leanprover-community/mathlib"@"829895f162a1f29d0133f4b3538f4cd1fb5bffd3"
+
 /-!
 # Preadditive structure on functor categories
 
feat: port CategoryTheory.Preadditive.FunctorCategory (#2746)

Dependencies 3 + 273

274 files ported (98.9%)
111801 lines ported (99.1%)
Show graph

The unported dependencies are