category_theory.preadditive.additive_functorMathlib.CategoryTheory.Preadditive.AdditiveFunctor

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -224,7 +224,7 @@ instance : Preadditive (C ⥤+ D) :=
 /-- An additive functor is in particular a functor. -/
 def AdditiveFunctor.forget : (C ⥤+ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.AdditiveFunctor.forget CategoryTheory.AdditiveFunctor.forget
 -/
 
@@ -293,7 +293,7 @@ def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h
     functor.additive_of_preserves_binary_biproducts F
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.AdditiveFunctor.of_left_exact CategoryTheory.AdditiveFunctor.ofLeftExact
 -/
 
@@ -303,7 +303,7 @@ def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h
     functor.additive_of_preserves_binary_biproducts F
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.AdditiveFunctor.of_right_exact CategoryTheory.AdditiveFunctor.ofRightExact
 -/
 
@@ -313,7 +313,7 @@ def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h.1
     functor.additive_of_preserves_binary_biproducts F
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.AdditiveFunctor.of_exact CategoryTheory.AdditiveFunctor.ofExact
 -/
 
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz, Scott Morrison
 -/
-import Mathbin.CategoryTheory.Limits.ExactFunctor
-import Mathbin.CategoryTheory.Limits.Preserves.Finite
-import Mathbin.CategoryTheory.Preadditive.Biproducts
-import Mathbin.CategoryTheory.Preadditive.FunctorCategory
+import CategoryTheory.Limits.ExactFunctor
+import CategoryTheory.Limits.Preserves.Finite
+import CategoryTheory.Preadditive.Biproducts
+import CategoryTheory.Preadditive.FunctorCategory
 
 #align_import category_theory.preadditive.additive_functor from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.preadditive.additive_functor
-! 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.Limits.ExactFunctor
 import Mathbin.CategoryTheory.Limits.Preserves.Finite
 import Mathbin.CategoryTheory.Preadditive.Biproducts
 import Mathbin.CategoryTheory.Preadditive.FunctorCategory
 
+#align_import category_theory.preadditive.additive_functor from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
 /-!
 # Additive Functors
 
Diff
@@ -58,20 +58,26 @@ section
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
   [Functor.Additive F]
 
+#print CategoryTheory.Functor.map_add /-
 @[simp]
 theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
   Functor.Additive.map_add'
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
+-/
 
+#print CategoryTheory.Functor.mapAddHom /-
 /-- `F.map_add_hom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps (config := { fullyApplied := false })]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
   AddMonoidHom.mk' (fun f => F.map f) fun f g => F.map_add
 #align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHom
+-/
 
+#print CategoryTheory.Functor.coe_mapAddHom /-
 theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = @map C _ D _ F X Y :=
   rfl
 #align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHom
+-/
 
 #print CategoryTheory.Functor.preservesZeroMorphisms_of_additive /-
 instance (priority := 100) preservesZeroMorphisms_of_additive : PreservesZeroMorphisms F
@@ -84,32 +90,42 @@ instance : Additive (𝟭 C) where
 instance {E : Type _} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additive G] :
     Additive (F ⋙ G) where
 
+#print CategoryTheory.Functor.map_neg /-
 @[simp]
 theorem map_neg {X Y : C} {f : X ⟶ Y} : F.map (-f) = -F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_neg _
 #align category_theory.functor.map_neg CategoryTheory.Functor.map_neg
+-/
 
+#print CategoryTheory.Functor.map_sub /-
 @[simp]
 theorem map_sub {X Y : C} {f g : X ⟶ Y} : F.map (f - g) = F.map f - F.map g :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_sub _ _
 #align category_theory.functor.map_sub CategoryTheory.Functor.map_sub
+-/
 
+#print CategoryTheory.Functor.map_nsmul /-
 theorem map_nsmul {X Y : C} {f : X ⟶ Y} {n : ℕ} : F.map (n • f) = n • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_nsmul _ _
 #align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmul
+-/
 
+#print CategoryTheory.Functor.map_zsmul /-
 -- You can alternatively just use `functor.map_smul` here, with an explicit `(r : ℤ)` argument.
 theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_zsmul _ _
 #align category_theory.functor.map_zsmul CategoryTheory.Functor.map_zsmul
+-/
 
 open scoped BigOperators
 
+#print CategoryTheory.Functor.map_sum /-
 @[simp]
 theorem map_sum {X Y : C} {α : Type _} (f : α → (X ⟶ Y)) (s : Finset α) :
     F.map (∑ a in s, f a) = ∑ a in s, F.map (f a) :=
   (F.mapAddHom : (X ⟶ Y) →+ _).map_sum f s
 #align category_theory.functor.map_sum CategoryTheory.Functor.map_sum
+-/
 
 end
 
@@ -124,9 +140,11 @@ instance inducedFunctor_additive : Functor.Additive (inducedFunctor F) where
 
 end InducedCategory
 
+#print CategoryTheory.Functor.fullSubcategoryInclusion_additive /-
 instance fullSubcategoryInclusion_additive {C : Type _} [Category C] [Preadditive C]
     (Z : C → Prop) : (fullSubcategoryInclusion Z).Additive where
 #align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additive
+-/
 
 section
 
@@ -179,9 +197,11 @@ namespace Equivalence
 
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
 
+#print CategoryTheory.Equivalence.inverse_additive /-
 instance inverse_additive (e : C ≌ D) [e.Functor.Additive] : e.inverse.Additive
     where map_add' X Y f g := by apply e.functor.map_injective; simp
 #align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additive
+-/
 
 end Equivalence
 
@@ -198,7 +218,6 @@ deriving Category
 #align category_theory.AdditiveFunctor CategoryTheory.AdditiveFunctor
 -/
 
--- mathport name: «expr ⥤+ »
 infixr:26 " ⥤+ " => AdditiveFunctor
 
 instance : Preadditive (C ⥤+ D) :=
@@ -221,26 +240,34 @@ def AdditiveFunctor.of (F : C ⥤ D) [F.Additive] : C ⥤+ D :=
 #align category_theory.AdditiveFunctor.of CategoryTheory.AdditiveFunctor.of
 -/
 
+#print CategoryTheory.AdditiveFunctor.of_fst /-
 @[simp]
 theorem AdditiveFunctor.of_fst (F : C ⥤ D) [F.Additive] : (AdditiveFunctor.of F).1 = F :=
   rfl
 #align category_theory.AdditiveFunctor.of_fst CategoryTheory.AdditiveFunctor.of_fst
+-/
 
+#print CategoryTheory.AdditiveFunctor.forget_obj /-
 @[simp]
 theorem AdditiveFunctor.forget_obj (F : C ⥤+ D) : (AdditiveFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj CategoryTheory.AdditiveFunctor.forget_obj
+-/
 
+#print CategoryTheory.AdditiveFunctor.forget_obj_of /-
 theorem AdditiveFunctor.forget_obj_of (F : C ⥤ D) [F.Additive] :
     (AdditiveFunctor.forget C D).obj (AdditiveFunctor.of F) = F :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj_of CategoryTheory.AdditiveFunctor.forget_obj_of
+-/
 
+#print CategoryTheory.AdditiveFunctor.forget_map /-
 @[simp]
 theorem AdditiveFunctor.forget_map (F G : C ⥤+ D) (α : F ⟶ G) :
     (AdditiveFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.AdditiveFunctor.forget_map CategoryTheory.AdditiveFunctor.forget_map
+-/
 
 instance : Functor.Additive (AdditiveFunctor.forget C D) where map_add' F G α β := rfl
 
@@ -321,23 +348,29 @@ theorem AdditiveFunctor.ofExact_obj_fst (F : C ⥤ₑ D) :
 #align category_theory.AdditiveFunctor.of_exact_obj_fst CategoryTheory.AdditiveFunctor.ofExact_obj_fst
 -/
 
+#print CategoryTheory.AdditiveFunctor.ofLeftExact_map /-
 @[simp]
 theorem AdditiveFunctor.ofLeftExact_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofLeftExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_map
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofRightExact_map /-
 @[simp]
 theorem AdditiveFunctor.ofRightExact_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofRightExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_map
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofExact_map /-
 @[simp]
 theorem AdditiveFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_exact_map CategoryTheory.AdditiveFunctor.ofExact_map
+-/
 
 end Exact
 
Diff
@@ -44,7 +44,7 @@ namespace CategoryTheory
 #print CategoryTheory.Functor.Additive /-
 /-- A functor `F` is additive provided `F.map` is an additive homomorphism. -/
 class Functor.Additive {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
-  (F : C ⥤ D) : Prop where
+    (F : C ⥤ D) : Prop where
   map_add' : ∀ {X Y : C} {f g : X ⟶ Y}, F.map (f + g) = F.map f + F.map g := by obviously
 #align category_theory.functor.additive CategoryTheory.Functor.Additive
 -/
@@ -193,7 +193,8 @@ variable (C D : Type _) [Category C] [Category D] [Preadditive C] [Preadditive D
 /-- Bundled additive functors. -/
 @[nolint has_nonempty_instance]
 def AdditiveFunctor :=
-  FullSubcategory fun F : C ⥤ D => F.Additive deriving Category
+  FullSubcategory fun F : C ⥤ D => F.Additive
+deriving Category
 #align category_theory.AdditiveFunctor CategoryTheory.AdditiveFunctor
 -/
 
@@ -206,7 +207,8 @@ instance : Preadditive (C ⥤+ D) :=
 #print CategoryTheory.AdditiveFunctor.forget /-
 /-- An additive functor is in particular a functor. -/
 def AdditiveFunctor.forget : (C ⥤+ D) ⥤ C ⥤ D :=
-  fullSubcategoryInclusion _ deriving Full, Faithful
+  fullSubcategoryInclusion _
+deriving Full, Faithful
 #align category_theory.AdditiveFunctor.forget CategoryTheory.AdditiveFunctor.forget
 -/
 
@@ -266,8 +268,8 @@ attribute [local instance] preserves_binary_biproducts_of_preserves_binary_copro
 def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h
-    functor.additive_of_preserves_binary_biproducts F deriving
-  Full, Faithful
+    functor.additive_of_preserves_binary_biproducts F
+deriving Full, Faithful
 #align category_theory.AdditiveFunctor.of_left_exact CategoryTheory.AdditiveFunctor.ofLeftExact
 -/
 
@@ -276,8 +278,8 @@ def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
 def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h
-    functor.additive_of_preserves_binary_biproducts F deriving
-  Full, Faithful
+    functor.additive_of_preserves_binary_biproducts F
+deriving Full, Faithful
 #align category_theory.AdditiveFunctor.of_right_exact CategoryTheory.AdditiveFunctor.ofRightExact
 -/
 
@@ -286,8 +288,8 @@ def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
 def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
     let hF := Classical.choice h.1
-    functor.additive_of_preserves_binary_biproducts F deriving
-  Full, Faithful
+    functor.additive_of_preserves_binary_biproducts F
+deriving Full, Faithful
 #align category_theory.AdditiveFunctor.of_exact CategoryTheory.AdditiveFunctor.ofExact
 -/
 
Diff
@@ -103,7 +103,7 @@ theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_zsmul _ _
 #align category_theory.functor.map_zsmul CategoryTheory.Functor.map_zsmul
 
-open BigOperators
+open scoped BigOperators
 
 @[simp]
 theorem map_sum {X Y : C} {α : Type _} (f : α → (X ⟶ Y)) (s : Finset α) :
Diff
@@ -58,29 +58,17 @@ section
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
   [Functor.Additive F]
 
-/- warning: category_theory.functor.map_add -> CategoryTheory.Functor.map_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_add CategoryTheory.Functor.map_addₓ'. -/
 @[simp]
 theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
   Functor.Additive.map_add'
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
 
-/- warning: category_theory.functor.map_add_hom -> CategoryTheory.Functor.mapAddHom 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))
-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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F) Y)) (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 F) Y)) (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 F) Y)) (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 F) Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F) Y))))))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHomₓ'. -/
 /-- `F.map_add_hom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps (config := { fullyApplied := false })]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
   AddMonoidHom.mk' (fun f => F.map f) fun f g => F.map_add
 #align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHom
 
-/- warning: category_theory.functor.coe_map_add_hom -> CategoryTheory.Functor.coe_mapAddHom is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHomₓ'. -/
 theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = @map C _ D _ F X Y :=
   rfl
 #align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHom
@@ -96,32 +84,20 @@ instance : Additive (𝟭 C) where
 instance {E : Type _} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additive G] :
     Additive (F ⋙ G) where
 
-/- warning: category_theory.functor.map_neg -> CategoryTheory.Functor.map_neg is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_neg CategoryTheory.Functor.map_negₓ'. -/
 @[simp]
 theorem map_neg {X Y : C} {f : X ⟶ Y} : F.map (-f) = -F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_neg _
 #align category_theory.functor.map_neg CategoryTheory.Functor.map_neg
 
-/- warning: category_theory.functor.map_sub -> CategoryTheory.Functor.map_sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_sub CategoryTheory.Functor.map_subₓ'. -/
 @[simp]
 theorem map_sub {X Y : C} {f g : X ⟶ Y} : F.map (f - g) = F.map f - F.map g :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_sub _ _
 #align category_theory.functor.map_sub CategoryTheory.Functor.map_sub
 
-/- warning: category_theory.functor.map_nsmul -> CategoryTheory.Functor.map_nsmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmulₓ'. -/
 theorem map_nsmul {X Y : C} {f : X ⟶ Y} {n : ℕ} : F.map (n • f) = n • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_nsmul _ _
 #align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmul
 
-/- warning: category_theory.functor.map_zsmul -> CategoryTheory.Functor.map_zsmul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_zsmul CategoryTheory.Functor.map_zsmulₓ'. -/
 -- You can alternatively just use `functor.map_smul` here, with an explicit `(r : ℤ)` argument.
 theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_zsmul _ _
@@ -129,12 +105,6 @@ theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.
 
 open BigOperators
 
-/- warning: category_theory.functor.map_sum -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {α : Type.{u5}} (f : α -> (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y)) (s : Finset.{u5} α), 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (Finset.sum.{u3, u5} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) α (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)) s (fun (a : α) => f a))) (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 F Y)) α (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))) s (fun (a : α) => CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (f a)))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {α : Type.{u5}} (f : α -> (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y)) (s : Finset.{u5} α), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (Finset.sum.{u4, u5} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) α (AddCommGroup.toAddCommMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)) s (fun (a : α) => f a))) (Finset.sum.{u2, u5} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) α (AddCommGroup.toAddCommMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))) s (fun (a : α) => Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (f a)))
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_sum CategoryTheory.Functor.map_sumₓ'. -/
 @[simp]
 theorem map_sum {X Y : C} {α : Type _} (f : α → (X ⟶ Y)) (s : Finset α) :
     F.map (∑ a in s, f a) = ∑ a in s, F.map (f a) :=
@@ -154,12 +124,6 @@ instance inducedFunctor_additive : Functor.Additive (inducedFunctor F) where
 
 end InducedCategory
 
-/- warning: category_theory.functor.full_subcategory_inclusion_additive -> CategoryTheory.Functor.fullSubcategoryInclusion_additive is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] (Z : C -> Prop), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} (CategoryTheory.FullSubcategoryₓ.{u2, u1} C _inst_1 Z) C (CategoryTheory.InducedCategory.category.{u2, u1, u1} (CategoryTheory.FullSubcategoryₓ.{u2, u1} C _inst_1 Z) C _inst_1 (CategoryTheory.FullSubcategoryₓ.obj.{u2, u1} C _inst_1 Z)) _inst_1 (CategoryTheory.Preadditive.fullSubcategory.{u2, u1} C _inst_1 _inst_2 Z) _inst_2 (CategoryTheory.fullSubcategoryInclusion.{u2, u1} C _inst_1 Z)
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] (Z : C -> Prop), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} (CategoryTheory.FullSubcategory.{u1} C Z) C (CategoryTheory.FullSubcategory.category.{u2, u1} C _inst_1 Z) _inst_1 (CategoryTheory.Preadditive.fullSubcategory.{u2, u1} C _inst_1 _inst_2 Z) _inst_2 (CategoryTheory.fullSubcategoryInclusion.{u2, u1} C _inst_1 Z)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additiveₓ'. -/
 instance fullSubcategoryInclusion_additive {C : Type _} [Category C] [Preadditive C]
     (Z : C → Prop) : (fullSubcategoryInclusion Z).Additive where
 #align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additive
@@ -215,12 +179,6 @@ namespace Equivalence
 
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
 
-/- warning: category_theory.equivalence.inverse_additive -> CategoryTheory.Equivalence.inverse_additive 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (e : CategoryTheory.Equivalence.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Equivalence.functor.{u3, u4, u1, u2} C _inst_1 D _inst_2 e)], CategoryTheory.Functor.Additive.{u2, u1, u4, u3} D C _inst_2 _inst_1 _inst_4 _inst_3 (CategoryTheory.Equivalence.inverse.{u3, u4, u1, u2} C _inst_1 D _inst_2 e)
-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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (e : CategoryTheory.Equivalence.{u3, u4, u1, u2} C D _inst_1 _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Equivalence.functor.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)], CategoryTheory.Functor.Additive.{u2, u1, u4, u3} D C _inst_2 _inst_1 _inst_4 _inst_3 (CategoryTheory.Equivalence.inverse.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)
-Case conversion may be inaccurate. Consider using '#align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additiveₓ'. -/
 instance inverse_additive (e : C ≌ D) [e.Functor.Additive] : e.inverse.Additive
     where map_add' X Y f g := by apply e.functor.map_injective; simp
 #align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additive
@@ -261,45 +219,21 @@ def AdditiveFunctor.of (F : C ⥤ D) [F.Additive] : C ⥤+ D :=
 #align category_theory.AdditiveFunctor.of CategoryTheory.AdditiveFunctor.of
 -/
 
-/- warning: category_theory.AdditiveFunctor.of_fst -> CategoryTheory.AdditiveFunctor.of_fst 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.FullSubcategoryₓ.obj.{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) (fun (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F) (CategoryTheory.AdditiveFunctor.of.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
-but is expected to have type
-  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.FullSubcategory.obj.{max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F) (CategoryTheory.AdditiveFunctor.of.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
-Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.of_fst CategoryTheory.AdditiveFunctor.of_fstₓ'. -/
 @[simp]
 theorem AdditiveFunctor.of_fst (F : C ⥤ D) [F.Additive] : (AdditiveFunctor.of F).1 = F :=
   rfl
 #align category_theory.AdditiveFunctor.of_fst CategoryTheory.AdditiveFunctor.of_fst
 
-/- warning: category_theory.AdditiveFunctor.forget_obj -> CategoryTheory.AdditiveFunctor.forget_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F) (CategoryTheory.FullSubcategoryₓ.obj.{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) (fun (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F) F)
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u2, u4} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u1, u3} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4 F) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_obj CategoryTheory.AdditiveFunctor.forget_objₓ'. -/
 @[simp]
 theorem AdditiveFunctor.forget_obj (F : C ⥤+ D) : (AdditiveFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj CategoryTheory.AdditiveFunctor.forget_obj
 
-/- warning: category_theory.AdditiveFunctor.forget_obj_of -> CategoryTheory.AdditiveFunctor.forget_obj_of 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.of.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
-but is expected to have type
-  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u2 u3, max u2 u3, max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4)) (CategoryTheory.AdditiveFunctor.of.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
-Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_obj_of CategoryTheory.AdditiveFunctor.forget_obj_ofₓ'. -/
 theorem AdditiveFunctor.forget_obj_of (F : C ⥤ D) [F.Additive] :
     (AdditiveFunctor.forget C D).obj (AdditiveFunctor.of F) = F :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj_of CategoryTheory.AdditiveFunctor.forget_obj_of
 
-/- warning: category_theory.AdditiveFunctor.forget_map -> CategoryTheory.AdditiveFunctor.forget_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (G : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (α : Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) F G), Eq.{succ (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))) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F G α) α
-but is expected to have type
-  forall {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u2, u4} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u1, u3} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (G : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) F G), Eq.{max (succ u4) (succ u1)} (Quiver.Hom.{max (succ u4) (succ u1), max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) G)) (Prefunctor.map.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_map CategoryTheory.AdditiveFunctor.forget_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.forget_map (F G : C ⥤+ D) (α : F ⟶ G) :
     (AdditiveFunctor.forget C D).map α = α :=
@@ -385,27 +319,18 @@ theorem AdditiveFunctor.ofExact_obj_fst (F : C ⥤ₑ D) :
 #align category_theory.AdditiveFunctor.of_exact_obj_fst CategoryTheory.AdditiveFunctor.ofExact_obj_fst
 -/
 
-/- warning: category_theory.Additive_Functor.of_left_exact_map -> CategoryTheory.AdditiveFunctor.ofLeftExact_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofLeftExact_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofLeftExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_map
 
-/- warning: category_theory.Additive_Functor.of_right_exact_map -> CategoryTheory.AdditiveFunctor.ofRightExact_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofRightExact_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofRightExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_map
 
-/- warning: category_theory.Additive_Functor.of_exact_map -> CategoryTheory.AdditiveFunctor.ofExact_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_exact_map CategoryTheory.AdditiveFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofExact C D).map α = α :=
Diff
@@ -222,9 +222,7 @@ 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (e : CategoryTheory.Equivalence.{u3, u4, u1, u2} C D _inst_1 _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Equivalence.functor.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)], CategoryTheory.Functor.Additive.{u2, u1, u4, u3} D C _inst_2 _inst_1 _inst_4 _inst_3 (CategoryTheory.Equivalence.inverse.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)
 Case conversion may be inaccurate. Consider using '#align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additiveₓ'. -/
 instance inverse_additive (e : C ≌ D) [e.Functor.Additive] : e.inverse.Additive
-    where map_add' X Y f g := by
-    apply e.functor.map_injective
-    simp
+    where map_add' X Y f g := by apply e.functor.map_injective; simp
 #align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additive
 
 end Equivalence
Diff
@@ -59,10 +59,7 @@ variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D
   [Functor.Additive F]
 
 /- warning: category_theory.functor.map_add -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {g : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (HAdd.hAdd.{u3, u3, u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (instHAdd.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddZeroClass.toHasAdd.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))))) f g)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y g))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {g : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HAdd.hAdd.{u4, u4, u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHAdd.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))))) f g)) (HAdd.hAdd.{u2, u2, u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHAdd.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_add CategoryTheory.Functor.map_addₓ'. -/
 @[simp]
 theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
@@ -82,10 +79,7 @@ def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
 #align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHom
 
 /- warning: category_theory.functor.coe_map_add_hom -> CategoryTheory.Functor.coe_mapAddHom 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u3) (succ u4)} ((Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (fun (_x : AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) => (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (AddMonoidHom.hasCoeToFun.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (CategoryTheory.Functor.mapAddHom.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y)
-but is expected to have type
-  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u4) (succ u3)} (forall (ᾰ : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (fun (_x : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y)))))) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)))))) (AddMonoidHom.addMonoidHomClass.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))))) (CategoryTheory.Functor.mapAddHom.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (Prefunctor.map.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X Y)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHomₓ'. -/
 theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = @map C _ D _ F X Y :=
   rfl
@@ -103,10 +97,7 @@ instance {E : Type _} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additi
     Additive (F ⋙ G) where
 
 /- warning: category_theory.functor.map_neg -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (Neg.neg.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toHasNeg.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)))) f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (Neg.neg.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (NegZeroClass.toNeg.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegZeroMonoid.toNegZeroClass.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubtractionMonoid.toSubNegZeroMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubtractionCommMonoid.toSubtractionMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toDivisionAddCommMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)))))) f)) (Neg.neg.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (NegZeroClass.toNeg.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegZeroMonoid.toNegZeroClass.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toDivisionAddCommMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_neg CategoryTheory.Functor.map_negₓ'. -/
 @[simp]
 theorem map_neg {X Y : C} {f : X ⟶ Y} : F.map (-f) = -F.map f :=
@@ -114,10 +105,7 @@ theorem map_neg {X Y : C} {f : X ⟶ Y} : F.map (-f) = -F.map f :=
 #align category_theory.functor.map_neg CategoryTheory.Functor.map_neg
 
 /- warning: category_theory.functor.map_sub -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {g : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (HSub.hSub.{u3, u3, u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (instHSub.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toHasSub.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) f g)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y g))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {g : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSub.hSub.{u4, u4, u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSub.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toSub.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))) f g)) (HSub.hSub.{u2, u2, u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSub.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toSub.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_sub CategoryTheory.Functor.map_subₓ'. -/
 @[simp]
 theorem map_sub {X Y : C} {f g : X ⟶ Y} : F.map (f - g) = F.map f - F.map g :=
@@ -125,20 +113,14 @@ theorem map_sub {X Y : C} {f g : X ⟶ Y} : F.map (f - g) = F.map f - F.map g :=
 #align category_theory.functor.map_sub CategoryTheory.Functor.map_sub
 
 /- warning: category_theory.functor.map_nsmul -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (SMul.smul.{0, u3} Nat (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddMonoid.SMul.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) n f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))) n (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {n : Nat}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSMul.hSMul.{0, u4, u4} Nat (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSMul.{0, u4} Nat (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddMonoid.SMul.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)))))) n f)) (HSMul.hSMul.{0, u2, u2} Nat (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSMul.{0, u2} Nat (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.SMul.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))))))) n (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmulₓ'. -/
 theorem map_nsmul {X Y : C} {f : X ⟶ Y} {n : ℕ} : F.map (n • f) = n • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_nsmul _ _
 #align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmul
 
 /- warning: category_theory.functor.map_zsmul -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {r : 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (SMul.smul.{0, u3} Int (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.SMulInt.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)))) r f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))) r (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {r : Int}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSMul.hSMul.{0, u4, u4} Int (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSMul.{0, u4} Int (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.SMulInt.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))) r f)) (HSMul.hSMul.{0, u2, u2} Int (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSMul.{0, u2} Int (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.SMulInt.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))) r (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_zsmul CategoryTheory.Functor.map_zsmulₓ'. -/
 -- You can alternatively just use `functor.map_smul` here, with an explicit `(r : ℤ)` argument.
 theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.map f :=
@@ -406,10 +388,7 @@ theorem AdditiveFunctor.ofExact_obj_fst (F : C ⥤ₑ D) :
 -/
 
 /- warning: category_theory.Additive_Functor.of_left_exact_map -> CategoryTheory.AdditiveFunctor.ofLeftExact_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofLeftExact_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
@@ -418,10 +397,7 @@ theorem AdditiveFunctor.ofLeftExact_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
 #align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_map
 
 /- warning: category_theory.Additive_Functor.of_right_exact_map -> CategoryTheory.AdditiveFunctor.ofRightExact_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofRightExact_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
@@ -430,10 +406,7 @@ theorem AdditiveFunctor.ofRightExact_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
 #align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_map
 
 /- warning: category_theory.Additive_Functor.of_exact_map -> CategoryTheory.AdditiveFunctor.ofExact_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_exact_map CategoryTheory.AdditiveFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz, Scott Morrison
 
 ! This file was ported from Lean 3 source module category_theory.preadditive.additive_functor
-! leanprover-community/mathlib commit ee89acdf96a0b45afe3eea493bceb2a80a0f2efa
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.Preadditive.FunctorCategory
 /-!
 # Additive Functors
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A functor between two preadditive categories is called *additive*
 provided that the induced map on hom types is a morphism of abelian
 groups.
Diff
@@ -82,7 +82,7 @@ def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u3) (succ u4)} ((Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (fun (_x : AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) => (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (AddMonoidHom.hasCoeToFun.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (CategoryTheory.Functor.mapAddHom.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y)
 but is expected to have type
-  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u4) (succ u3)} (forall (ᾰ : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (fun (_x : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y)))))) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)))))) (AddMonoidHom.addMonoidHomClass.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))))) (CategoryTheory.Functor.mapAddHom.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (Prefunctor.map.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X Y)
+  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u4) (succ u3)} (forall (ᾰ : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (fun (_x : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.403 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y)))))) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)))))) (AddMonoidHom.addMonoidHomClass.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))))) (CategoryTheory.Functor.mapAddHom.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (Prefunctor.map.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X Y)
 Case conversion may be inaccurate. Consider using '#align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHomₓ'. -/
 theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = @map C _ D _ F X Y :=
   rfl
Diff
@@ -38,11 +38,13 @@ universe v₁ v₂ u₁ u₂
 
 namespace CategoryTheory
 
+#print CategoryTheory.Functor.Additive /-
 /-- A functor `F` is additive provided `F.map` is an additive homomorphism. -/
 class Functor.Additive {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
   (F : C ⥤ D) : Prop where
   map_add' : ∀ {X Y : C} {f g : X ⟶ Y}, F.map (f + g) = F.map f + F.map g := by obviously
 #align category_theory.functor.additive CategoryTheory.Functor.Additive
+-/
 
 section Preadditive
 
@@ -53,44 +55,88 @@ section
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
   [Functor.Additive F]
 
+/- warning: category_theory.functor.map_add -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {g : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (HAdd.hAdd.{u3, u3, u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (instHAdd.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddZeroClass.toHasAdd.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))))) f g)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y g))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {g : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HAdd.hAdd.{u4, u4, u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHAdd.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))))) f g)) (HAdd.hAdd.{u2, u2, u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHAdd.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y g))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_add CategoryTheory.Functor.map_addₓ'. -/
 @[simp]
 theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
   Functor.Additive.map_add'
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
 
+/- warning: category_theory.functor.map_add_hom -> CategoryTheory.Functor.mapAddHom 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))
+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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F) Y)) (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 F) Y)) (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 F) Y)) (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 F) Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F) Y))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHomₓ'. -/
 /-- `F.map_add_hom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps (config := { fullyApplied := false })]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
   AddMonoidHom.mk' (fun f => F.map f) fun f g => F.map_add
 #align category_theory.functor.map_add_hom CategoryTheory.Functor.mapAddHom
 
+/- warning: category_theory.functor.coe_map_add_hom -> CategoryTheory.Functor.coe_mapAddHom 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u3) (succ u4)} ((Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (coeFn.{max (succ u4) (succ u3), max (succ u3) (succ u4)} (AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (fun (_x : AddMonoidHom.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) => (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) -> (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 F Y))) (AddMonoidHom.hasCoeToFun.{u3, u4} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (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 F Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))))) (CategoryTheory.Functor.mapAddHom.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y)
+but is expected to have type
+  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C}, Eq.{max (succ u4) (succ u3)} (forall (ᾰ : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y), (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) ᾰ) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (fun (_x : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.398 : Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) => Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) _x) (AddHomClass.toFunLike.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddZeroClass.toAdd.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y)))))) (AddZeroClass.toAdd.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (AddMonoidHomClass.toAddHomClass.{max u4 u3, u4, u3} (AddMonoidHom.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))) (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)))))) (AddMonoidHom.addMonoidHomClass.{u4, u3} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.toAddZeroClass.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u2} C _inst_1 _inst_3 X Y))))) (AddMonoid.toAddZeroClass.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u3, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) Y))))))))) (CategoryTheory.Functor.mapAddHom.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5 X Y)) (Prefunctor.map.{succ u4, succ u3, u2, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u2} C (CategoryTheory.Category.toCategoryStruct.{u4, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} D (CategoryTheory.Category.toCategoryStruct.{u3, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u3, u2, u1} C _inst_1 D _inst_2 F) X Y)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHomₓ'. -/
 theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = @map C _ D _ F X Y :=
   rfl
 #align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHom
 
+#print CategoryTheory.Functor.preservesZeroMorphisms_of_additive /-
 instance (priority := 100) preservesZeroMorphisms_of_additive : PreservesZeroMorphisms F
     where map_zero' X Y := F.mapAddHom.map_zero
 #align category_theory.functor.preserves_zero_morphisms_of_additive CategoryTheory.Functor.preservesZeroMorphisms_of_additive
+-/
 
 instance : Additive (𝟭 C) where
 
 instance {E : Type _} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additive G] :
     Additive (F ⋙ G) where
 
+/- warning: category_theory.functor.map_neg -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (Neg.neg.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toHasNeg.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)))) f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (Neg.neg.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (NegZeroClass.toNeg.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegZeroMonoid.toNegZeroClass.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubtractionMonoid.toSubNegZeroMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubtractionCommMonoid.toSubtractionMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toDivisionAddCommMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)))))) f)) (Neg.neg.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (NegZeroClass.toNeg.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegZeroMonoid.toNegZeroClass.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubtractionMonoid.toSubNegZeroMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubtractionCommMonoid.toSubtractionMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toDivisionAddCommMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_neg CategoryTheory.Functor.map_negₓ'. -/
 @[simp]
 theorem map_neg {X Y : C} {f : X ⟶ Y} : F.map (-f) = -F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_neg _
 #align category_theory.functor.map_neg CategoryTheory.Functor.map_neg
 
+/- warning: category_theory.functor.map_sub -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {g : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y}, 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (HSub.hSub.{u3, u3, u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (instHSub.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toHasSub.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) f g)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y g))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {g : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSub.hSub.{u4, u4, u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSub.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toSub.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))) f g)) (HSub.hSub.{u2, u2, u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSub.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toSub.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y g))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_sub CategoryTheory.Functor.map_subₓ'. -/
 @[simp]
 theorem map_sub {X Y : C} {f g : X ⟶ Y} : F.map (f - g) = F.map f - F.map g :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_sub _ _
 #align category_theory.functor.map_sub CategoryTheory.Functor.map_sub
 
+/- warning: category_theory.functor.map_nsmul -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (SMul.smul.{0, u3} Nat (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddMonoid.SMul.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y))))) n f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y)))))) n (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {n : Nat}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSMul.hSMul.{0, u4, u4} Nat (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSMul.{0, u4} Nat (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddMonoid.SMul.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.toAddMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)))))) n f)) (HSMul.hSMul.{0, u2, u2} Nat (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSMul.{0, u2} Nat (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddMonoid.SMul.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.toAddMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))))))) n (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmulₓ'. -/
 theorem map_nsmul {X Y : C} {f : X ⟶ Y} {n : ℕ} : F.map (n • f) = n • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_nsmul _ _
 #align category_theory.functor.map_nsmul CategoryTheory.Functor.map_nsmul
 
+/- warning: category_theory.functor.map_zsmul -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y} {r : 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (SMul.smul.{0, u3} Int (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (SubNegMonoid.SMulInt.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)))) r f)) (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 F Y)) (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 F Y)) (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 F Y)) (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))))) r (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y f))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {f : Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y} {r : Int}, Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (HSMul.hSMul.{0, u4, u4} Int (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (instHSMul.{0, u4} Int (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (SubNegMonoid.SMulInt.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddGroup.toSubNegMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (AddCommGroup.toAddGroup.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y))))) r f)) (HSMul.hSMul.{0, u2, u2} Int (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (instHSMul.{0, u2} Int (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (SubNegMonoid.SMulInt.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddGroup.toSubNegMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (AddCommGroup.toAddGroup.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)))))) r (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y f))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_zsmul CategoryTheory.Functor.map_zsmulₓ'. -/
 -- You can alternatively just use `functor.map_smul` here, with an explicit `(r : ℤ)` argument.
 theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.map f :=
   (F.mapAddHom : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y)).map_zsmul _ _
@@ -98,6 +144,12 @@ theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.
 
 open BigOperators
 
+/- warning: category_theory.functor.map_sum -> CategoryTheory.Functor.map_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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {α : Type.{u5}} (f : α -> (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y)) (s : Finset.{u5} α), 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 F Y)) (CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (Finset.sum.{u3, u5} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) α (AddCommGroup.toAddCommMonoid.{u3} (Quiver.Hom.{succ u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u3, u1} C (CategoryTheory.Category.toCategoryStruct.{u3, u1} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u3, u1} C _inst_1 _inst_3 X Y)) s (fun (a : α) => f a))) (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 F Y)) α (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 F Y)) (CategoryTheory.Preadditive.homGroup.{u4, u2} D _inst_2 _inst_4 (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 F Y))) s (fun (a : α) => CategoryTheory.Functor.map.{u3, u4, u1, u2} C _inst_1 D _inst_2 F X Y (f a)))
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u2, u3, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u3, u1, u4, u2} C D _inst_1 _inst_2 _inst_3 _inst_4 F] {X : C} {Y : C} {α : Type.{u5}} (f : α -> (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y)) (s : Finset.{u5} α), Eq.{succ u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (Finset.sum.{u4, u5} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) α (AddCommGroup.toAddCommMonoid.{u4} (Quiver.Hom.{succ u4, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) X Y) (CategoryTheory.Preadditive.homGroup.{u4, u3} C _inst_1 _inst_3 X Y)) s (fun (a : α) => f a))) (Finset.sum.{u2, u5} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) α (AddCommGroup.toAddCommMonoid.{u2} (Quiver.Hom.{succ u2, u1} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y)) (CategoryTheory.Preadditive.homGroup.{u2, u1} D _inst_2 _inst_4 (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X) (Prefunctor.obj.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) Y))) s (fun (a : α) => Prefunctor.map.{succ u4, succ u2, u3, u1} C (CategoryTheory.CategoryStruct.toQuiver.{u4, u3} C (CategoryTheory.Category.toCategoryStruct.{u4, u3} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u2, u1} D (CategoryTheory.Category.toCategoryStruct.{u2, u1} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u4, u2, u3, u1} C _inst_1 D _inst_2 F) X Y (f a)))
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.map_sum CategoryTheory.Functor.map_sumₓ'. -/
 @[simp]
 theorem map_sum {X Y : C} {α : Type _} (f : α → (X ⟶ Y)) (s : Finset α) :
     F.map (∑ a in s, f a) = ∑ a in s, F.map (f a) :=
@@ -110,11 +162,19 @@ section InducedCategory
 
 variable {C : Type _} {D : Type _} [Category D] [Preadditive D] (F : C → D)
 
+#print CategoryTheory.Functor.inducedFunctor_additive /-
 instance inducedFunctor_additive : Functor.Additive (inducedFunctor F) where
 #align category_theory.functor.induced_functor_additive CategoryTheory.Functor.inducedFunctor_additive
+-/
 
 end InducedCategory
 
+/- warning: category_theory.functor.full_subcategory_inclusion_additive -> CategoryTheory.Functor.fullSubcategoryInclusion_additive is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] (Z : C -> Prop), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} (CategoryTheory.FullSubcategoryₓ.{u2, u1} C _inst_1 Z) C (CategoryTheory.InducedCategory.category.{u2, u1, u1} (CategoryTheory.FullSubcategoryₓ.{u2, u1} C _inst_1 Z) C _inst_1 (CategoryTheory.FullSubcategoryₓ.obj.{u2, u1} C _inst_1 Z)) _inst_1 (CategoryTheory.Preadditive.fullSubcategory.{u2, u1} C _inst_1 _inst_2 Z) _inst_2 (CategoryTheory.fullSubcategoryInclusion.{u2, u1} C _inst_1 Z)
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] [_inst_2 : CategoryTheory.Preadditive.{u2, u1} C _inst_1] (Z : C -> Prop), CategoryTheory.Functor.Additive.{u1, u1, u2, u2} (CategoryTheory.FullSubcategory.{u1} C Z) C (CategoryTheory.FullSubcategory.category.{u2, u1} C _inst_1 Z) _inst_1 (CategoryTheory.Preadditive.fullSubcategory.{u2, u1} C _inst_1 _inst_2 Z) _inst_2 (CategoryTheory.fullSubcategoryInclusion.{u2, u1} C _inst_1 Z)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additiveₓ'. -/
 instance fullSubcategoryInclusion_additive {C : Type _} [Category C] [Preadditive C]
     (Z : C → Prop) : (fullSubcategoryInclusion Z).Additive where
 #align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additive
@@ -131,6 +191,7 @@ open CategoryTheory.Limits
 
 open CategoryTheory.Preadditive
 
+#print CategoryTheory.Functor.preservesFiniteBiproductsOfAdditive /-
 instance (priority := 100) preservesFiniteBiproductsOfAdditive [Additive F] :
     PreservesFiniteBiproducts F
     where preserves J _ :=
@@ -148,7 +209,9 @@ instance (priority := 100) preservesFiniteBiproductsOfAdditive [Additive F] :
                 dsimp only [limits.bicone.to_cone_π_app]
                 simp [sum_comp, comp_sum, bicone.ι_π, comp_dite, dite_comp]) } }
 #align category_theory.functor.preserves_finite_biproducts_of_additive CategoryTheory.Functor.preservesFiniteBiproductsOfAdditive
+-/
 
+#print CategoryTheory.Functor.additive_of_preservesBinaryBiproducts /-
 theorem additive_of_preservesBinaryBiproducts [HasBinaryBiproducts C] [PreservesZeroMorphisms F]
     [PreservesBinaryBiproducts F] : Additive F :=
   {
@@ -157,6 +220,7 @@ theorem additive_of_preservesBinaryBiproducts [HasBinaryBiproducts C] [Preserves
         biprod.map_biprod_hom_desc, category.assoc, iso.inv_hom_id_assoc, F.map_id,
         biprod.add_eq_lift_id_desc] }
 #align category_theory.functor.additive_of_preserves_binary_biproducts CategoryTheory.Functor.additive_of_preservesBinaryBiproducts
+-/
 
 end
 
@@ -166,6 +230,12 @@ namespace Equivalence
 
 variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
 
+/- warning: category_theory.equivalence.inverse_additive -> CategoryTheory.Equivalence.inverse_additive 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (e : CategoryTheory.Equivalence.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Equivalence.functor.{u3, u4, u1, u2} C _inst_1 D _inst_2 e)], CategoryTheory.Functor.Additive.{u2, u1, u4, u3} D C _inst_2 _inst_1 _inst_4 _inst_3 (CategoryTheory.Equivalence.inverse.{u3, u4, u1, u2} C _inst_1 D _inst_2 e)
+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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (e : CategoryTheory.Equivalence.{u3, u4, u1, u2} C D _inst_1 _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 (CategoryTheory.Equivalence.functor.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)], CategoryTheory.Functor.Additive.{u2, u1, u4, u3} D C _inst_2 _inst_1 _inst_4 _inst_3 (CategoryTheory.Equivalence.inverse.{u3, u4, u1, u2} C D _inst_1 _inst_2 e)
+Case conversion may be inaccurate. Consider using '#align category_theory.equivalence.inverse_additive CategoryTheory.Equivalence.inverse_additiveₓ'. -/
 instance inverse_additive (e : C ≌ D) [e.Functor.Additive] : e.inverse.Additive
     where map_add' X Y f g := by
     apply e.functor.map_injective
@@ -178,11 +248,13 @@ section
 
 variable (C D : Type _) [Category C] [Category D] [Preadditive C] [Preadditive D]
 
+#print CategoryTheory.AdditiveFunctor /-
 /-- Bundled additive functors. -/
 @[nolint has_nonempty_instance]
 def AdditiveFunctor :=
   FullSubcategory fun F : C ⥤ D => F.Additive deriving Category
 #align category_theory.AdditiveFunctor CategoryTheory.AdditiveFunctor
+-/
 
 -- mathport name: «expr ⥤+ »
 infixr:26 " ⥤+ " => AdditiveFunctor
@@ -190,33 +262,61 @@ infixr:26 " ⥤+ " => AdditiveFunctor
 instance : Preadditive (C ⥤+ D) :=
   Preadditive.inducedCategory _
 
+#print CategoryTheory.AdditiveFunctor.forget /-
 /-- An additive functor is in particular a functor. -/
 def AdditiveFunctor.forget : (C ⥤+ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _ deriving Full, Faithful
 #align category_theory.AdditiveFunctor.forget CategoryTheory.AdditiveFunctor.forget
+-/
 
 variable {C D}
 
+#print CategoryTheory.AdditiveFunctor.of /-
 /-- Turn an additive functor into an object of the category `AdditiveFunctor C D`. -/
 def AdditiveFunctor.of (F : C ⥤ D) [F.Additive] : C ⥤+ D :=
   ⟨F, inferInstance⟩
 #align category_theory.AdditiveFunctor.of CategoryTheory.AdditiveFunctor.of
+-/
 
+/- warning: category_theory.AdditiveFunctor.of_fst -> CategoryTheory.AdditiveFunctor.of_fst 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.FullSubcategoryₓ.obj.{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) (fun (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F) (CategoryTheory.AdditiveFunctor.of.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
+but is expected to have type
+  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.FullSubcategory.obj.{max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F) (CategoryTheory.AdditiveFunctor.of.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
+Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.of_fst CategoryTheory.AdditiveFunctor.of_fstₓ'. -/
 @[simp]
 theorem AdditiveFunctor.of_fst (F : C ⥤ D) [F.Additive] : (AdditiveFunctor.of F).1 = F :=
   rfl
 #align category_theory.AdditiveFunctor.of_fst CategoryTheory.AdditiveFunctor.of_fst
 
+/- warning: category_theory.AdditiveFunctor.forget_obj -> CategoryTheory.AdditiveFunctor.forget_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4), Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F) (CategoryTheory.FullSubcategoryₓ.obj.{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) (fun (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F) F)
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u2, u4} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u1, u3} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) => CategoryTheory.Functor.Additive.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4 F) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_obj CategoryTheory.AdditiveFunctor.forget_objₓ'. -/
 @[simp]
 theorem AdditiveFunctor.forget_obj (F : C ⥤+ D) : (AdditiveFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj CategoryTheory.AdditiveFunctor.forget_obj
 
+/- warning: category_theory.AdditiveFunctor.forget_obj_of -> CategoryTheory.AdditiveFunctor.forget_obj_of 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.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{succ (max u3 u4 u1 u2)} (CategoryTheory.Functor.{u3, u4, u1, u2} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.of.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
+but is expected to have type
+  forall {C : Type.{u2}} {D : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u4, u2} C] [_inst_2 : CategoryTheory.Category.{u3, u1} D] [_inst_3 : CategoryTheory.Preadditive.{u4, u2} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u3, u1} D _inst_2] (F : CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) [_inst_5 : CategoryTheory.Functor.Additive.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F], Eq.{max (max (max (succ u2) (succ u1)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u2) (succ u3), max (succ u2) (succ u3), max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u2 u3, max (max (max u2 u1) u4) u3} (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u2 u3, max u2 u3, max (max (max u2 u1) u4) u3, max (max (max u2 u1) u4) u3} (CategoryTheory.AdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u4, u3, u2, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4)) (CategoryTheory.AdditiveFunctor.of.{u2, u1, u4, u3} C D _inst_1 _inst_2 _inst_3 _inst_4 F _inst_5)) F
+Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_obj_of CategoryTheory.AdditiveFunctor.forget_obj_ofₓ'. -/
 theorem AdditiveFunctor.forget_obj_of (F : C ⥤ D) [F.Additive] :
     (AdditiveFunctor.forget C D).obj (AdditiveFunctor.of F) = F :=
   rfl
 #align category_theory.AdditiveFunctor.forget_obj_of CategoryTheory.AdditiveFunctor.forget_obj_of
 
+/- warning: category_theory.AdditiveFunctor.forget_map -> CategoryTheory.AdditiveFunctor.forget_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} {D : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u3, u1} C] [_inst_2 : CategoryTheory.Category.{u4, u2} D] [_inst_3 : CategoryTheory.Preadditive.{u3, u1} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u4, u2} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (G : CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (α : Quiver.Hom.{succ (max u1 u4), max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u1 u4, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) F G), Eq.{succ (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))) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F) (CategoryTheory.Functor.obj.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) G)) (CategoryTheory.Functor.map.{max u1 u4, max u1 u4, max u3 u4 u1 u2, max u3 u4 u1 u2} (CategoryTheory.AdditiveFunctor.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u1, u4, u3, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (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.AdditiveFunctor.forget.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) F G α) α
+but is expected to have type
+  forall {C : Type.{u4}} {D : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u2, u4} C] [_inst_2 : CategoryTheory.Category.{u1, u3} D] [_inst_3 : CategoryTheory.Preadditive.{u2, u4} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u1, u3} D _inst_2] (F : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (G : CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (α : Quiver.Hom.{max (succ u4) (succ u1), max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) F G), Eq.{max (succ u4) (succ u1)} (Quiver.Hom.{max (succ u4) (succ u1), max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F) (Prefunctor.obj.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) G)) (Prefunctor.map.{max (succ u4) (succ u1), max (succ u4) (succ u1), max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u4 u1, max (max (max u4 u3) u2) u1} (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{max u4 u1, max u4 u1, max (max (max u4 u3) u2) u1, max (max (max u4 u3) u2) u1} (CategoryTheory.AdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Functor.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u1, u4, u3} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.forget.{u4, u3, u2, u1} C D _inst_1 _inst_2 _inst_3 _inst_4)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.AdditiveFunctor.forget_map CategoryTheory.AdditiveFunctor.forget_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.forget_map (F G : C ⥤+ D) (α : F ⟶ G) :
     (AdditiveFunctor.forget C D).map α = α :=
@@ -244,6 +344,7 @@ attribute [local instance] preserves_binary_biproducts_of_preserves_binary_produ
 
 attribute [local instance] preserves_binary_biproducts_of_preserves_binary_coproducts
 
+#print CategoryTheory.AdditiveFunctor.ofLeftExact /-
 /-- Turn a left exact functor into an additive functor. -/
 def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
@@ -251,7 +352,9 @@ def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
     functor.additive_of_preserves_binary_biproducts F deriving
   Full, Faithful
 #align category_theory.AdditiveFunctor.of_left_exact CategoryTheory.AdditiveFunctor.ofLeftExact
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofRightExact /-
 /-- Turn a right exact functor into an additive functor. -/
 def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
@@ -259,7 +362,9 @@ def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
     functor.additive_of_preserves_binary_biproducts F deriving
   Full, Faithful
 #align category_theory.AdditiveFunctor.of_right_exact CategoryTheory.AdditiveFunctor.ofRightExact
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofExact /-
 /-- Turn an exact functor into an additive functor. -/
 def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
   FullSubcategory.map fun F h =>
@@ -267,41 +372,66 @@ def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
     functor.additive_of_preserves_binary_biproducts F deriving
   Full, Faithful
 #align category_theory.AdditiveFunctor.of_exact CategoryTheory.AdditiveFunctor.ofExact
+-/
 
 end
 
 variable {C D}
 
+#print CategoryTheory.AdditiveFunctor.ofLeftExact_obj_fst /-
 @[simp]
 theorem AdditiveFunctor.ofLeftExact_obj_fst (F : C ⥤ₗ D) :
     ((AdditiveFunctor.ofLeftExact C D).obj F).obj = F.obj :=
   rfl
 #align category_theory.AdditiveFunctor.of_left_exact_obj_fst CategoryTheory.AdditiveFunctor.ofLeftExact_obj_fst
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofRightExact_obj_fst /-
 @[simp]
 theorem AdditiveFunctor.ofRightExact_obj_fst (F : C ⥤ᵣ D) :
     ((AdditiveFunctor.ofRightExact C D).obj F).obj = F.obj :=
   rfl
 #align category_theory.AdditiveFunctor.of_right_exact_obj_fst CategoryTheory.AdditiveFunctor.ofRightExact_obj_fst
+-/
 
+#print CategoryTheory.AdditiveFunctor.ofExact_obj_fst /-
 @[simp]
 theorem AdditiveFunctor.ofExact_obj_fst (F : C ⥤ₑ D) :
     ((AdditiveFunctor.ofExact C D).obj F).obj = F.obj :=
   rfl
 #align category_theory.AdditiveFunctor.of_exact_obj_fst CategoryTheory.AdditiveFunctor.ofExact_obj_fst
+-/
 
+/- warning: category_theory.Additive_Functor.of_left_exact_map -> CategoryTheory.AdditiveFunctor.ofLeftExact_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofLeftExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofLeftExact_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofLeftExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_left_exact_map CategoryTheory.AdditiveFunctor.ofLeftExact_map
 
+/- warning: category_theory.Additive_Functor.of_right_exact_map -> CategoryTheory.AdditiveFunctor.ofRightExact_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofRightExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofRightExact_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofRightExact C D).map α = α :=
   rfl
 #align category_theory.Additive_Functor.of_right_exact_map CategoryTheory.AdditiveFunctor.ofRightExact_map
 
+/- warning: category_theory.Additive_Functor.of_exact_map -> CategoryTheory.AdditiveFunctor.ofExact_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2))) F G), Eq.{succ (max u3 u2)} (Quiver.Hom.{succ (max u3 u2), max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F) (CategoryTheory.Functor.obj.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) G)) (CategoryTheory.Functor.map.{max u3 u2, max u3 u2, max u1 u2 u3 u4, max u1 u2 u3 u4} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.category.{u2, u4, u3, u1} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.category.{u3, u2, u1, u4} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} {D : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] [_inst_2 : CategoryTheory.Category.{u2, u4} D] [_inst_3 : CategoryTheory.Preadditive.{u1, u3} C _inst_1] [_inst_4 : CategoryTheory.Preadditive.{u2, u4} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasZeroObject.{u1, u3} C _inst_1] [_inst_6 : CategoryTheory.Limits.HasZeroObject.{u2, u4} D _inst_2] [_inst_7 : CategoryTheory.Limits.HasBinaryBiproducts.{u1, u3} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u3} C _inst_1 _inst_3)] {F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} {G : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2} (α : Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) F G), Eq.{max (succ u3) (succ u2)} (Quiver.Hom.{max (succ u3) (succ u2), max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F) (Prefunctor.obj.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) G)) (Prefunctor.map.{max (succ u3) (succ u2), max (succ u3) (succ u2), max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max u3 u2, max (max (max u3 u4) u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.AdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.instCategoryAdditiveFunctor.{u3, u4, u1, u2} C D _inst_1 _inst_2 _inst_3 _inst_4) (CategoryTheory.AdditiveFunctor.ofExact.{u1, u2, u3, u4} C D _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.Additive_Functor.of_exact_map CategoryTheory.AdditiveFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem AdditiveFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (AdditiveFunctor.ofExact C D).map α = α :=

Changes in mathlib4

mathlib3
mathlib4
feat(CategoryTheory/Triangulated): homological functors (#11759)

A functor F : C ⥤ A from a pretriangulated category to an abelian category is homological iff it sends distinguished triangles in C to exact sequences in A. In this PR, we define the corresponding type class F.IsHomological. If F is a homological functor, we introduce the strictly full triangulated subcategory F.homologicalKernel.

Diff
@@ -178,6 +178,13 @@ theorem additive_of_preservesBinaryBiproducts [HasBinaryBiproducts C] [Preserves
       biprod.add_eq_lift_id_desc]
 #align category_theory.functor.additive_of_preserves_binary_biproducts CategoryTheory.Functor.additive_of_preservesBinaryBiproducts
 
+lemma additive_of_preserves_binary_products
+    [HasBinaryProducts C] [PreservesLimitsOfShape (Discrete WalkingPair) F]
+    [F.PreservesZeroMorphisms] : F.Additive := by
+  have : HasBinaryBiproducts C := HasBinaryBiproducts.of_hasBinaryProducts
+  have := preservesBinaryBiproductsOfPreservesBinaryProducts F
+  exact Functor.additive_of_preservesBinaryBiproducts F
+
 end
 
 end
chore: classify porting notes referring to missing linters (#12098)

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

Diff
@@ -198,7 +198,7 @@ section
 
 variable (C D : Type*) [Category C] [Category D] [Preadditive C] [Preadditive D]
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- Bundled additive functors. -/
 def AdditiveFunctor :=
   FullSubcategory fun F : C ⥤ D => F.Additive
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

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

Diff
@@ -220,7 +220,7 @@ def AdditiveFunctor.forget : (C ⥤+ D) ⥤ C ⥤ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.AdditiveFunctor.forget CategoryTheory.AdditiveFunctor.forget
 
-instance : Full (AdditiveFunctor.forget C D) :=
+instance : (AdditiveFunctor.forget C D).Full :=
   FullSubcategory.full _
 
 variable {C D}
@@ -283,8 +283,8 @@ def AdditiveFunctor.ofLeftExact : (C ⥤ₗ D) ⥤ C ⥤+ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.AdditiveFunctor.of_left_exact CategoryTheory.AdditiveFunctor.ofLeftExact
 
-instance : Full (AdditiveFunctor.ofLeftExact C D) := FullSubcategory.full_map _
-instance : Faithful (AdditiveFunctor.ofLeftExact C D) := FullSubcategory.faithful_map _
+instance : (AdditiveFunctor.ofLeftExact C D).Full := FullSubcategory.full_map _
+instance : (AdditiveFunctor.ofLeftExact C D).Faithful := FullSubcategory.faithful_map _
 
 /-- Turn a right exact functor into an additive functor. -/
 def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
@@ -293,8 +293,8 @@ def AdditiveFunctor.ofRightExact : (C ⥤ᵣ D) ⥤ C ⥤+ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.AdditiveFunctor.of_right_exact CategoryTheory.AdditiveFunctor.ofRightExact
 
-instance : Full (AdditiveFunctor.ofRightExact C D) := FullSubcategory.full_map _
-instance : Faithful (AdditiveFunctor.ofRightExact C D) := FullSubcategory.faithful_map _
+instance : (AdditiveFunctor.ofRightExact C D).Full := FullSubcategory.full_map _
+instance : (AdditiveFunctor.ofRightExact C D).Faithful := FullSubcategory.faithful_map _
 
 /-- Turn an exact functor into an additive functor. -/
 def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
@@ -303,8 +303,8 @@ def AdditiveFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤+ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.AdditiveFunctor.of_exact CategoryTheory.AdditiveFunctor.ofExact
 
-instance : Full (AdditiveFunctor.ofExact C D) := FullSubcategory.full_map _
-instance : Faithful (AdditiveFunctor.ofExact C D) := FullSubcategory.faithful_map _
+instance : (AdditiveFunctor.ofExact C D).Full := FullSubcategory.full_map _
+instance : (AdditiveFunctor.ofExact C D).Faithful := FullSubcategory.faithful_map _
 
 end
 
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -268,7 +268,6 @@ section Exact
 open CategoryTheory.Limits
 
 variable (C : Type u₁) (D : Type u₂) [Category.{v₁} C] [Category.{v₂} D] [Preadditive C]
-
 variable [Preadditive D] [HasZeroObject C] [HasZeroObject D] [HasBinaryBiproducts C]
 
 section
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -56,7 +56,7 @@ theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
   Functor.Additive.map_add
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
 
--- porting note: it was originally @[simps (config := .asFn)]
+-- Porting note: it was originally @[simps (config := .asFn)]
 /-- `F.mapAddHom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps!]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
chore: classify removed @[nolint has_nonempty_instance] porting notes (#10929)

Classifies by adding issue number (#10927) to porting notes claiming removed @[nolint has_nonempty_instance].

Diff
@@ -198,7 +198,7 @@ section
 
 variable (C D : Type*) [Category C] [Category D] [Preadditive C] [Preadditive D]
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- Bundled additive functors. -/
 def AdditiveFunctor :=
   FullSubcategory fun F : C ⥤ D => F.Additive
chore: remove deprecated MonoidHom.map_prod, AddMonoidHom.map_sum (#8787)
Diff
@@ -98,9 +98,9 @@ theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.
 open BigOperators
 
 @[simp]
-theorem map_sum {X Y : C} {α : Type*} (f : α → (X ⟶ Y)) (s : Finset α) :
+nonrec theorem map_sum {X Y : C} {α : Type*} (f : α → (X ⟶ Y)) (s : Finset α) :
     F.map (∑ a in s, f a) = ∑ a in s, F.map (f a) :=
-  (F.mapAddHom : (X ⟶ Y) →+ _).map_sum f s
+  map_sum F.mapAddHom f s
 #align category_theory.functor.map_sum CategoryTheory.Functor.map_sum
 
 variable {F}
feat: the homology functor on the homotopy category for the new API (#8595)

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

Diff
@@ -48,8 +48,8 @@ namespace Functor
 
 section
 
-variable {C D : Type*} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
-  [Functor.Additive F]
+variable {C D E : Type*} [Category C] [Category D] [Category E]
+  [Preadditive C] [Preadditive D] [Preadditive E] (F : C ⥤ D) [Functor.Additive F]
 
 @[simp]
 theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
@@ -103,6 +103,36 @@ theorem map_sum {X Y : C} {α : Type*} (f : α → (X ⟶ Y)) (s : Finset α) :
   (F.mapAddHom : (X ⟶ Y) →+ _).map_sum f s
 #align category_theory.functor.map_sum CategoryTheory.Functor.map_sum
 
+variable {F}
+
+lemma additive_of_iso {G : C ⥤ D} (e : F ≅ G) : G.Additive := by
+  constructor
+  intro X Y f g
+  simp only [← NatIso.naturality_1 e (f + g), map_add, Preadditive.add_comp,
+    NatTrans.naturality, Preadditive.comp_add, Iso.inv_hom_id_app_assoc]
+
+variable (F)
+
+lemma additive_of_full_essSurj_comp [Full F] [EssSurj F] (G : D ⥤ E)
+    [(F ⋙ G).Additive] : G.Additive where
+  map_add {X Y f g} := by
+    obtain ⟨f', hf'⟩ := F.map_surjective ((F.objObjPreimageIso X).hom ≫ f ≫
+      (F.objObjPreimageIso Y).inv)
+    obtain ⟨g', hg'⟩ := F.map_surjective ((F.objObjPreimageIso X).hom ≫ g ≫
+      (F.objObjPreimageIso Y).inv)
+    simp only [← cancel_mono (G.map (F.objObjPreimageIso Y).inv),
+      ← cancel_epi (G.map (F.objObjPreimageIso X).hom),
+      Preadditive.add_comp, Preadditive.comp_add, ← Functor.map_comp]
+    erw [← hf', ← hg', ← (F ⋙ G).map_add]
+    dsimp
+    rw [F.map_add]
+
+lemma additive_of_comp_faithful
+    (F : C ⥤ D) (G : D ⥤ E) [G.Additive] [(F ⋙ G).Additive] [Faithful G] :
+    F.Additive where
+  map_add {_ _ f₁ f₂} := G.map_injective (by
+    rw [← Functor.comp_map, G.map_add, (F ⋙ G).map_add, Functor.comp_map, Functor.comp_map])
+
 end
 
 section InducedCategory
style: shorten simps configurations (#8296)

Use .asFn and .lemmasOnly as simps configuration options.

For reference, these are defined here:

https://github.com/leanprover-community/mathlib4/blob/4055c8b471380825f07416b12cb0cf266da44d84/Mathlib/Tactic/Simps/Basic.lean#L843-L851

Diff
@@ -56,7 +56,7 @@ theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
   Functor.Additive.map_add
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
 
--- porting note: it was originally @[simps (config := { fullyApplied := false })]
+-- porting note: it was originally @[simps (config := .asFn)]
 /-- `F.mapAddHom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps!]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
style: fix wrapping of where (#7149)
Diff
@@ -67,8 +67,8 @@ theorem coe_mapAddHom {X Y : C} : ⇑(F.mapAddHom : (X ⟶ Y) →+ _) = F.map :=
   rfl
 #align category_theory.functor.coe_map_add_hom CategoryTheory.Functor.coe_mapAddHom
 
-instance (priority := 100) preservesZeroMorphisms_of_additive : PreservesZeroMorphisms F
-    where map_zero _ _ := F.mapAddHom.map_zero
+instance (priority := 100) preservesZeroMorphisms_of_additive : PreservesZeroMorphisms F where
+  map_zero _ _ := F.mapAddHom.map_zero
 #align category_theory.functor.preserves_zero_morphisms_of_additive CategoryTheory.Functor.preservesZeroMorphisms_of_additive
 
 instance : Additive (𝟭 C) where
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
@@ -36,7 +36,7 @@ universe v₁ v₂ u₁ u₂
 namespace CategoryTheory
 
 /-- A functor `F` is additive provided `F.map` is an additive homomorphism. -/
-class Functor.Additive {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
+class Functor.Additive {C D : Type*} [Category C] [Category D] [Preadditive C] [Preadditive D]
   (F : C ⥤ D) : Prop where
   /-- the addition of two morphisms is mapped to the sum of their images -/
   map_add : ∀ {X Y : C} {f g : X ⟶ Y}, F.map (f + g) = F.map f + F.map g := by aesop_cat
@@ -48,7 +48,7 @@ namespace Functor
 
 section
 
-variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
+variable {C D : Type*} [Category C] [Category D] [Preadditive C] [Preadditive D] (F : C ⥤ D)
   [Functor.Additive F]
 
 @[simp]
@@ -73,7 +73,7 @@ instance (priority := 100) preservesZeroMorphisms_of_additive : PreservesZeroMor
 
 instance : Additive (𝟭 C) where
 
-instance {E : Type _} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additive G] :
+instance {E : Type*} [Category E] [Preadditive E] (G : D ⥤ E) [Functor.Additive G] :
     Additive (F ⋙ G) where
 
 @[simp]
@@ -98,7 +98,7 @@ theorem map_zsmul {X Y : C} {f : X ⟶ Y} {r : ℤ} : F.map (r • f) = r • F.
 open BigOperators
 
 @[simp]
-theorem map_sum {X Y : C} {α : Type _} (f : α → (X ⟶ Y)) (s : Finset α) :
+theorem map_sum {X Y : C} {α : Type*} (f : α → (X ⟶ Y)) (s : Finset α) :
     F.map (∑ a in s, f a) = ∑ a in s, F.map (f a) :=
   (F.mapAddHom : (X ⟶ Y) →+ _).map_sum f s
 #align category_theory.functor.map_sum CategoryTheory.Functor.map_sum
@@ -107,14 +107,14 @@ end
 
 section InducedCategory
 
-variable {C : Type _} {D : Type _} [Category D] [Preadditive D] (F : C → D)
+variable {C : Type*} {D : Type*} [Category D] [Preadditive D] (F : C → D)
 
 instance inducedFunctor_additive : Functor.Additive (inducedFunctor F) where
 #align category_theory.functor.induced_functor_additive CategoryTheory.Functor.inducedFunctor_additive
 
 end InducedCategory
 
-instance fullSubcategoryInclusion_additive {C : Type _} [Category C] [Preadditive C]
+instance fullSubcategoryInclusion_additive {C : Type*} [Category C] [Preadditive C]
     (Z : C → Prop) : (fullSubcategoryInclusion Z).Additive where
 #align category_theory.functor.full_subcategory_inclusion_additive CategoryTheory.Functor.fullSubcategoryInclusion_additive
 
@@ -156,7 +156,7 @@ end Functor
 
 namespace Equivalence
 
-variable {C D : Type _} [Category C] [Category D] [Preadditive C] [Preadditive D]
+variable {C D : Type*} [Category C] [Category D] [Preadditive C] [Preadditive D]
 
 instance inverse_additive (e : C ≌ D) [e.functor.Additive] : e.inverse.Additive where
   map_add {f g} := e.functor.map_injective (by simp)
@@ -166,7 +166,7 @@ end Equivalence
 
 section
 
-variable (C D : Type _) [Category C] [Category D] [Preadditive C] [Preadditive D]
+variable (C D : Type*) [Category C] [Category D] [Preadditive C] [Preadditive D]
 
 -- porting note: removed @[nolint has_nonempty_instance]
 /-- Bundled additive functors. -/
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz, Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.preadditive.additive_functor
-! leanprover-community/mathlib commit ee89acdf96a0b45afe3eea493bceb2a80a0f2efa
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.ExactFunctor
 import Mathlib.CategoryTheory.Limits.Preserves.Finite
 import Mathlib.CategoryTheory.Preadditive.Biproducts
 import Mathlib.CategoryTheory.Preadditive.FunctorCategory
 
+#align_import category_theory.preadditive.additive_functor from "leanprover-community/mathlib"@"ee89acdf96a0b45afe3eea493bceb2a80a0f2efa"
+
 /-!
 # Additive Functors
 
chore: cleanup whitespace (#5988)

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

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

Diff
@@ -146,8 +146,8 @@ instance (priority := 100) preservesFiniteBiproductsOfAdditive [Additive F] :
 theorem additive_of_preservesBinaryBiproducts [HasBinaryBiproducts C] [PreservesZeroMorphisms F]
     [PreservesBinaryBiproducts F] : Additive F where
   map_add {X Y f g} := by
-    rw [biprod.add_eq_lift_id_desc,  F.map_comp, ← biprod.lift_mapBiprod,
-      ←  biprod.mapBiprod_hom_desc, Category.assoc, Iso.inv_hom_id_assoc, F.map_id,
+    rw [biprod.add_eq_lift_id_desc, F.map_comp, ← biprod.lift_mapBiprod,
+      ← biprod.mapBiprod_hom_desc, Category.assoc, Iso.inv_hom_id_assoc, F.map_id,
       biprod.add_eq_lift_id_desc]
 #align category_theory.functor.additive_of_preserves_binary_biproducts CategoryTheory.Functor.additive_of_preservesBinaryBiproducts
 
chore: tidy various files (#3408)
Diff
@@ -60,7 +60,7 @@ theorem map_add {X Y : C} {f g : X ⟶ Y} : F.map (f + g) = F.map f + F.map g :=
 #align category_theory.functor.map_add CategoryTheory.Functor.map_add
 
 -- porting note: it was originally @[simps (config := { fullyApplied := false })]
-/-- `F.map_add_hom` is an additive homomorphism whose underlying function is `F.map`. -/
+/-- `F.mapAddHom` is an additive homomorphism whose underlying function is `F.map`. -/
 @[simps!]
 def mapAddHom {X Y : C} : (X ⟶ Y) →+ (F.obj X ⟶ F.obj Y) :=
   AddMonoidHom.mk' (fun f => F.map f) fun _ _ => F.map_add
feat: port CategoryTheory.Preadditive.AdditiveFunctor (#2779)

Dependencies 3 + 294

295 files ported (99.0%)
119862 lines ported (99.1%)
Show graph

The unported dependencies are