category_theory.limits.exact_functorMathlib.CategoryTheory.Limits.ExactFunctor

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -48,7 +48,7 @@ infixr:26 " ⥤ₗ " => LeftExactFunctor
 /-- A left exact functor is in particular a functor. -/
 def LeftExactFunctor.forget : (C ⥤ₗ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.LeftExactFunctor.forget CategoryTheory.LeftExactFunctor.forget
 -/
 
@@ -67,7 +67,7 @@ infixr:26 " ⥤ᵣ " => RightExactFunctor
 /-- A right exact functor is in particular a functor. -/
 def RightExactFunctor.forget : (C ⥤ᵣ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.RightExactFunctor.forget CategoryTheory.RightExactFunctor.forget
 -/
 
@@ -87,7 +87,7 @@ infixr:26 " ⥤ₑ " => ExactFunctor
 /-- An exact functor is in particular a functor. -/
 def ExactFunctor.forget : (C ⥤ₑ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.ExactFunctor.forget CategoryTheory.ExactFunctor.forget
 -/
 
@@ -95,7 +95,7 @@ deriving Full, Faithful
 /-- Turn an exact functor into a left exact functor. -/
 def LeftExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ₗ D :=
   FullSubcategory.map fun X => And.left
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.LeftExactFunctor.of_exact CategoryTheory.LeftExactFunctor.ofExact
 -/
 
@@ -103,7 +103,7 @@ deriving Full, Faithful
 /-- Turn an exact functor into a left exact functor. -/
 def RightExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ᵣ D :=
   FullSubcategory.map fun X => And.right
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
 #align category_theory.RightExactFunctor.of_exact CategoryTheory.RightExactFunctor.ofExact
 -/
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
-import Mathbin.CategoryTheory.Limits.Preserves.Finite
+import CategoryTheory.Limits.Preserves.Finite
 
 #align_import category_theory.limits.exact_functor from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.limits.exact_functor
-! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Limits.Preserves.Finite
 
+#align_import category_theory.limits.exact_functor from "leanprover-community/mathlib"@"f47581155c818e6361af4e4fda60d27d020c226b"
+
 /-!
 # Bundled exact functors
 
Diff
@@ -45,7 +45,6 @@ deriving Category
 #align category_theory.LeftExactFunctor CategoryTheory.LeftExactFunctor
 -/
 
--- mathport name: «expr ⥤ₗ »
 infixr:26 " ⥤ₗ " => LeftExactFunctor
 
 #print CategoryTheory.LeftExactFunctor.forget /-
@@ -65,7 +64,6 @@ deriving Category
 #align category_theory.RightExactFunctor CategoryTheory.RightExactFunctor
 -/
 
--- mathport name: «expr ⥤ᵣ »
 infixr:26 " ⥤ᵣ " => RightExactFunctor
 
 #print CategoryTheory.RightExactFunctor.forget /-
@@ -86,7 +84,6 @@ deriving Category
 #align category_theory.ExactFunctor CategoryTheory.ExactFunctor
 -/
 
--- mathport name: «expr ⥤ₑ »
 infixr:26 " ⥤ₑ " => ExactFunctor
 
 #print CategoryTheory.ExactFunctor.forget /-
@@ -115,61 +112,81 @@ deriving Full, Faithful
 
 variable {C D}
 
+#print CategoryTheory.LeftExactFunctor.ofExact_obj /-
 @[simp]
 theorem LeftExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (LeftExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.1⟩ :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_obj CategoryTheory.LeftExactFunctor.ofExact_obj
+-/
 
+#print CategoryTheory.RightExactFunctor.ofExact_obj /-
 @[simp]
 theorem RightExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (RightExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.2⟩ :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_obj CategoryTheory.RightExactFunctor.ofExact_obj
+-/
 
+#print CategoryTheory.LeftExactFunctor.ofExact_map /-
 @[simp]
 theorem LeftExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (LeftExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_map CategoryTheory.LeftExactFunctor.ofExact_map
+-/
 
+#print CategoryTheory.RightExactFunctor.ofExact_map /-
 @[simp]
 theorem RightExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (RightExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_map CategoryTheory.RightExactFunctor.ofExact_map
+-/
 
+#print CategoryTheory.LeftExactFunctor.forget_obj /-
 @[simp]
 theorem LeftExactFunctor.forget_obj (F : C ⥤ₗ D) : (LeftExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj CategoryTheory.LeftExactFunctor.forget_obj
+-/
 
+#print CategoryTheory.RightExactFunctor.forget_obj /-
 @[simp]
 theorem RightExactFunctor.forget_obj (F : C ⥤ᵣ D) : (RightExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj CategoryTheory.RightExactFunctor.forget_obj
+-/
 
+#print CategoryTheory.ExactFunctor.forget_obj /-
 @[simp]
 theorem ExactFunctor.forget_obj (F : C ⥤ₑ D) : (ExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.ExactFunctor.forget_obj CategoryTheory.ExactFunctor.forget_obj
+-/
 
+#print CategoryTheory.LeftExactFunctor.forget_map /-
 @[simp]
 theorem LeftExactFunctor.forget_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (LeftExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.forget_map CategoryTheory.LeftExactFunctor.forget_map
+-/
 
+#print CategoryTheory.RightExactFunctor.forget_map /-
 @[simp]
 theorem RightExactFunctor.forget_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (RightExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.forget_map CategoryTheory.RightExactFunctor.forget_map
+-/
 
+#print CategoryTheory.ExactFunctor.forget_map /-
 @[simp]
 theorem ExactFunctor.forget_map {F G : C ⥤ₑ D} (α : F ⟶ G) : (ExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.ExactFunctor.forget_map CategoryTheory.ExactFunctor.forget_map
+-/
 
 #print CategoryTheory.LeftExactFunctor.of /-
 /-- Turn a left exact functor into an object of the category `LeftExactFunctor C D`. -/
@@ -216,20 +233,26 @@ theorem ExactFunctor.of_fst (F : C ⥤ D) [PreservesFiniteLimits F] [PreservesFi
 #align category_theory.ExactFunctor.of_fst CategoryTheory.ExactFunctor.of_fst
 -/
 
+#print CategoryTheory.LeftExactFunctor.forget_obj_of /-
 theorem LeftExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F] :
     (LeftExactFunctor.forget C D).obj (LeftExactFunctor.of F) = F :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj_of CategoryTheory.LeftExactFunctor.forget_obj_of
+-/
 
+#print CategoryTheory.RightExactFunctor.forget_obj_of /-
 theorem RightExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteColimits F] :
     (RightExactFunctor.forget C D).obj (RightExactFunctor.of F) = F :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj_of CategoryTheory.RightExactFunctor.forget_obj_of
+-/
 
+#print CategoryTheory.ExactFunctor.forget_obj_of /-
 theorem ExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F]
     [PreservesFiniteColimits F] : (ExactFunctor.forget C D).obj (ExactFunctor.of F) = F :=
   rfl
 #align category_theory.ExactFunctor.forget_obj_of CategoryTheory.ExactFunctor.forget_obj_of
+-/
 
 noncomputable instance (F : C ⥤ₗ D) : PreservesFiniteLimits F.obj :=
   F.property.some
Diff
@@ -40,7 +40,8 @@ variable (C) (D)
 /-- Bundled left-exact functors. -/
 @[nolint has_nonempty_instance]
 def LeftExactFunctor :=
-  FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteLimits F)deriving Category
+  FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteLimits F)
+deriving Category
 #align category_theory.LeftExactFunctor CategoryTheory.LeftExactFunctor
 -/
 
@@ -50,7 +51,8 @@ infixr:26 " ⥤ₗ " => LeftExactFunctor
 #print CategoryTheory.LeftExactFunctor.forget /-
 /-- A left exact functor is in particular a functor. -/
 def LeftExactFunctor.forget : (C ⥤ₗ D) ⥤ C ⥤ D :=
-  fullSubcategoryInclusion _ deriving Full, Faithful
+  fullSubcategoryInclusion _
+deriving Full, Faithful
 #align category_theory.LeftExactFunctor.forget CategoryTheory.LeftExactFunctor.forget
 -/
 
@@ -58,7 +60,8 @@ def LeftExactFunctor.forget : (C ⥤ₗ D) ⥤ C ⥤ D :=
 /-- Bundled right-exact functors. -/
 @[nolint has_nonempty_instance]
 def RightExactFunctor :=
-  FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteColimits F)deriving Category
+  FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteColimits F)
+deriving Category
 #align category_theory.RightExactFunctor CategoryTheory.RightExactFunctor
 -/
 
@@ -68,7 +71,8 @@ infixr:26 " ⥤ᵣ " => RightExactFunctor
 #print CategoryTheory.RightExactFunctor.forget /-
 /-- A right exact functor is in particular a functor. -/
 def RightExactFunctor.forget : (C ⥤ᵣ D) ⥤ C ⥤ D :=
-  fullSubcategoryInclusion _ deriving Full, Faithful
+  fullSubcategoryInclusion _
+deriving Full, Faithful
 #align category_theory.RightExactFunctor.forget CategoryTheory.RightExactFunctor.forget
 -/
 
@@ -77,8 +81,8 @@ def RightExactFunctor.forget : (C ⥤ᵣ D) ⥤ C ⥤ D :=
 @[nolint has_nonempty_instance]
 def ExactFunctor :=
   FullSubcategory fun F : C ⥤ D =>
-    Nonempty (PreservesFiniteLimits F) ∧ Nonempty (PreservesFiniteColimits F)deriving
-  Category
+    Nonempty (PreservesFiniteLimits F) ∧ Nonempty (PreservesFiniteColimits F)
+deriving Category
 #align category_theory.ExactFunctor CategoryTheory.ExactFunctor
 -/
 
@@ -88,21 +92,24 @@ infixr:26 " ⥤ₑ " => ExactFunctor
 #print CategoryTheory.ExactFunctor.forget /-
 /-- An exact functor is in particular a functor. -/
 def ExactFunctor.forget : (C ⥤ₑ D) ⥤ C ⥤ D :=
-  fullSubcategoryInclusion _ deriving Full, Faithful
+  fullSubcategoryInclusion _
+deriving Full, Faithful
 #align category_theory.ExactFunctor.forget CategoryTheory.ExactFunctor.forget
 -/
 
 #print CategoryTheory.LeftExactFunctor.ofExact /-
 /-- Turn an exact functor into a left exact functor. -/
 def LeftExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ₗ D :=
-  FullSubcategory.map fun X => And.left deriving Full, Faithful
+  FullSubcategory.map fun X => And.left
+deriving Full, Faithful
 #align category_theory.LeftExactFunctor.of_exact CategoryTheory.LeftExactFunctor.ofExact
 -/
 
 #print CategoryTheory.RightExactFunctor.ofExact /-
 /-- Turn an exact functor into a left exact functor. -/
 def RightExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ᵣ D :=
-  FullSubcategory.map fun X => And.right deriving Full, Faithful
+  FullSubcategory.map fun X => And.right
+deriving Full, Faithful
 #align category_theory.RightExactFunctor.of_exact CategoryTheory.RightExactFunctor.ofExact
 -/
 
Diff
@@ -108,117 +108,57 @@ def RightExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ᵣ D :=
 
 variable {C D}
 
-/- warning: category_theory.LeftExactFunctor.of_exact_obj -> CategoryTheory.LeftExactFunctor.ofExact_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.mk.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.left (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategoryₓ.property.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.mk.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.left (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategory.property.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.of_exact_obj CategoryTheory.LeftExactFunctor.ofExact_objₓ'. -/
 @[simp]
 theorem LeftExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (LeftExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.1⟩ :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_obj CategoryTheory.LeftExactFunctor.ofExact_obj
 
-/- warning: category_theory.RightExactFunctor.of_exact_obj -> CategoryTheory.RightExactFunctor.ofExact_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.mk.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.right (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategoryₓ.property.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.mk.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.right (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategory.property.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.of_exact_obj CategoryTheory.RightExactFunctor.ofExact_objₓ'. -/
 @[simp]
 theorem RightExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (RightExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.2⟩ :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_obj CategoryTheory.RightExactFunctor.ofExact_obj
 
-/- warning: category_theory.LeftExactFunctor.of_exact_map -> CategoryTheory.LeftExactFunctor.ofExact_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.of_exact_map CategoryTheory.LeftExactFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem LeftExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (LeftExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_map CategoryTheory.LeftExactFunctor.ofExact_map
 
-/- warning: category_theory.RightExactFunctor.of_exact_map -> CategoryTheory.RightExactFunctor.ofExact_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.of_exact_map CategoryTheory.RightExactFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem RightExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (RightExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_map CategoryTheory.RightExactFunctor.ofExact_map
 
-/- warning: category_theory.LeftExactFunctor.forget_obj -> CategoryTheory.LeftExactFunctor.forget_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_obj CategoryTheory.LeftExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem LeftExactFunctor.forget_obj (F : C ⥤ₗ D) : (LeftExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj CategoryTheory.LeftExactFunctor.forget_obj
 
-/- warning: category_theory.RightExactFunctor.forget_obj -> CategoryTheory.RightExactFunctor.forget_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_obj CategoryTheory.RightExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem RightExactFunctor.forget_obj (F : C ⥤ᵣ D) : (RightExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj CategoryTheory.RightExactFunctor.forget_obj
 
-/- warning: category_theory.ExactFunctor.forget_obj -> CategoryTheory.ExactFunctor.forget_obj is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_obj CategoryTheory.ExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem ExactFunctor.forget_obj (F : C ⥤ₑ D) : (ExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.ExactFunctor.forget_obj CategoryTheory.ExactFunctor.forget_obj
 
-/- warning: category_theory.LeftExactFunctor.forget_map -> CategoryTheory.LeftExactFunctor.forget_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_map CategoryTheory.LeftExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem LeftExactFunctor.forget_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (LeftExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.forget_map CategoryTheory.LeftExactFunctor.forget_map
 
-/- warning: category_theory.RightExactFunctor.forget_map -> CategoryTheory.RightExactFunctor.forget_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_map CategoryTheory.RightExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem RightExactFunctor.forget_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (RightExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.forget_map CategoryTheory.RightExactFunctor.forget_map
 
-/- warning: category_theory.ExactFunctor.forget_map -> CategoryTheory.ExactFunctor.forget_map is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
-Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_map CategoryTheory.ExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem ExactFunctor.forget_map {F G : C ⥤ₑ D} (α : F ⟶ G) : (ExactFunctor.forget C D).map α = α :=
   rfl
@@ -269,34 +209,16 @@ theorem ExactFunctor.of_fst (F : C ⥤ D) [PreservesFiniteLimits F] [PreservesFi
 #align category_theory.ExactFunctor.of_fst CategoryTheory.ExactFunctor.of_fst
 -/
 
-/- warning: category_theory.LeftExactFunctor.forget_obj_of -> CategoryTheory.LeftExactFunctor.forget_obj_of is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.LeftExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
-Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_obj_of CategoryTheory.LeftExactFunctor.forget_obj_ofₓ'. -/
 theorem LeftExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F] :
     (LeftExactFunctor.forget C D).obj (LeftExactFunctor.of F) = F :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj_of CategoryTheory.LeftExactFunctor.forget_obj_of
 
-/- warning: category_theory.RightExactFunctor.forget_obj_of -> CategoryTheory.RightExactFunctor.forget_obj_of is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.RightExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
-Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_obj_of CategoryTheory.RightExactFunctor.forget_obj_ofₓ'. -/
 theorem RightExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteColimits F] :
     (RightExactFunctor.forget C D).obj (RightExactFunctor.of F) = F :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj_of CategoryTheory.RightExactFunctor.forget_obj_of
 
-/- warning: category_theory.ExactFunctor.forget_obj_of -> CategoryTheory.ExactFunctor.forget_obj_of is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F] [_inst_4 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3 _inst_4)) F
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F] [_inst_4 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.ExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3 _inst_4)) F
-Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_obj_of CategoryTheory.ExactFunctor.forget_obj_ofₓ'. -/
 theorem ExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F]
     [PreservesFiniteColimits F] : (ExactFunctor.forget C D).obj (ExactFunctor.of F) = F :=
   rfl
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.limits.exact_functor
-! leanprover-community/mathlib commit 9fc53308a90fac244ac715308e1f9c969e6843a4
+! leanprover-community/mathlib commit f47581155c818e6361af4e4fda60d27d020c226b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.CategoryTheory.Limits.Preserves.Finite
 /-!
 # Bundled exact functors
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We say that a functor `F` is left exact if it preserves finite limits, it is right exact if it
 preserves finite colimits, and it is exact if it is both left exact and right exact.
 
Diff
@@ -33,34 +33,43 @@ section
 
 variable (C) (D)
 
+#print CategoryTheory.LeftExactFunctor /-
 /-- Bundled left-exact functors. -/
 @[nolint has_nonempty_instance]
 def LeftExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteLimits F)deriving Category
 #align category_theory.LeftExactFunctor CategoryTheory.LeftExactFunctor
+-/
 
 -- mathport name: «expr ⥤ₗ »
 infixr:26 " ⥤ₗ " => LeftExactFunctor
 
+#print CategoryTheory.LeftExactFunctor.forget /-
 /-- A left exact functor is in particular a functor. -/
 def LeftExactFunctor.forget : (C ⥤ₗ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _ deriving Full, Faithful
 #align category_theory.LeftExactFunctor.forget CategoryTheory.LeftExactFunctor.forget
+-/
 
+#print CategoryTheory.RightExactFunctor /-
 /-- Bundled right-exact functors. -/
 @[nolint has_nonempty_instance]
 def RightExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteColimits F)deriving Category
 #align category_theory.RightExactFunctor CategoryTheory.RightExactFunctor
+-/
 
 -- mathport name: «expr ⥤ᵣ »
 infixr:26 " ⥤ᵣ " => RightExactFunctor
 
+#print CategoryTheory.RightExactFunctor.forget /-
 /-- A right exact functor is in particular a functor. -/
 def RightExactFunctor.forget : (C ⥤ᵣ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _ deriving Full, Faithful
 #align category_theory.RightExactFunctor.forget CategoryTheory.RightExactFunctor.forget
+-/
 
+#print CategoryTheory.ExactFunctor /-
 /-- Bundled exact functors. -/
 @[nolint has_nonempty_instance]
 def ExactFunctor :=
@@ -68,126 +77,223 @@ def ExactFunctor :=
     Nonempty (PreservesFiniteLimits F) ∧ Nonempty (PreservesFiniteColimits F)deriving
   Category
 #align category_theory.ExactFunctor CategoryTheory.ExactFunctor
+-/
 
 -- mathport name: «expr ⥤ₑ »
 infixr:26 " ⥤ₑ " => ExactFunctor
 
+#print CategoryTheory.ExactFunctor.forget /-
 /-- An exact functor is in particular a functor. -/
 def ExactFunctor.forget : (C ⥤ₑ D) ⥤ C ⥤ D :=
   fullSubcategoryInclusion _ deriving Full, Faithful
 #align category_theory.ExactFunctor.forget CategoryTheory.ExactFunctor.forget
+-/
 
+#print CategoryTheory.LeftExactFunctor.ofExact /-
 /-- Turn an exact functor into a left exact functor. -/
 def LeftExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ₗ D :=
   FullSubcategory.map fun X => And.left deriving Full, Faithful
 #align category_theory.LeftExactFunctor.of_exact CategoryTheory.LeftExactFunctor.ofExact
+-/
 
+#print CategoryTheory.RightExactFunctor.ofExact /-
 /-- Turn an exact functor into a left exact functor. -/
 def RightExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ᵣ D :=
   FullSubcategory.map fun X => And.right deriving Full, Faithful
 #align category_theory.RightExactFunctor.of_exact CategoryTheory.RightExactFunctor.ofExact
+-/
 
 variable {C D}
 
+/- warning: category_theory.LeftExactFunctor.of_exact_obj -> CategoryTheory.LeftExactFunctor.ofExact_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.mk.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.left (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategoryₓ.property.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.mk.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.left (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategory.property.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.of_exact_obj CategoryTheory.LeftExactFunctor.ofExact_objₓ'. -/
 @[simp]
 theorem LeftExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (LeftExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.1⟩ :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_obj CategoryTheory.LeftExactFunctor.ofExact_obj
 
+/- warning: category_theory.RightExactFunctor.of_exact_obj -> CategoryTheory.RightExactFunctor.ofExact_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.mk.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.right (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategoryₓ.property.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.mk.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F) (And.right (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F))) (CategoryTheory.FullSubcategory.property.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.of_exact_obj CategoryTheory.RightExactFunctor.ofExact_objₓ'. -/
 @[simp]
 theorem RightExactFunctor.ofExact_obj (F : C ⥤ₑ D) :
     (RightExactFunctor.ofExact C D).obj F = ⟨F.1, F.2.2⟩ :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_obj CategoryTheory.RightExactFunctor.ofExact_obj
 
+/- warning: category_theory.LeftExactFunctor.of_exact_map -> CategoryTheory.LeftExactFunctor.ofExact_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryLeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.of_exact_map CategoryTheory.LeftExactFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem LeftExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (LeftExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.of_exact_map CategoryTheory.LeftExactFunctor.ofExact_map
 
+/- warning: category_theory.RightExactFunctor.of_exact_map -> CategoryTheory.RightExactFunctor.ofExact_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.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.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.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))) (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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.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.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.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.instCategoryRightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.ofExact.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.of_exact_map CategoryTheory.RightExactFunctor.ofExact_mapₓ'. -/
 @[simp]
 theorem RightExactFunctor.ofExact_map {F G : C ⥤ₑ D} (α : F ⟶ G) :
     (RightExactFunctor.ofExact C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.of_exact_map CategoryTheory.RightExactFunctor.ofExact_map
 
+/- warning: category_theory.LeftExactFunctor.forget_obj -> CategoryTheory.LeftExactFunctor.forget_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.LeftExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_obj CategoryTheory.LeftExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem LeftExactFunctor.forget_obj (F : C ⥤ₗ D) : (LeftExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj CategoryTheory.LeftExactFunctor.forget_obj
 
+/- warning: category_theory.RightExactFunctor.forget_obj -> CategoryTheory.RightExactFunctor.forget_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.RightExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_obj CategoryTheory.RightExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem RightExactFunctor.forget_obj (F : C ⥤ᵣ D) : (RightExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj CategoryTheory.RightExactFunctor.forget_obj
 
+/- warning: category_theory.ExactFunctor.forget_obj -> CategoryTheory.ExactFunctor.forget_obj is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F) (CategoryTheory.FullSubcategoryₓ.obj.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max 2 (succ u3) (succ u4) (succ u1) (succ u2)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.ExactFunctor.{u1, u2, u3, u4} C _inst_1 D _inst_2), Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F) (CategoryTheory.FullSubcategory.obj.{max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (fun (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) => And (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F)) (Nonempty.{max (max (max (max 2 (succ u4)) (succ u3)) (succ u2)) (succ u1)} (CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F))) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_obj CategoryTheory.ExactFunctor.forget_objₓ'. -/
 @[simp]
 theorem ExactFunctor.forget_obj (F : C ⥤ₑ D) : (ExactFunctor.forget C D).obj F = F.1 :=
   rfl
 #align category_theory.ExactFunctor.forget_obj CategoryTheory.ExactFunctor.forget_obj
 
+/- warning: category_theory.LeftExactFunctor.forget_map -> CategoryTheory.LeftExactFunctor.forget_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_map CategoryTheory.LeftExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem LeftExactFunctor.forget_map {F G : C ⥤ₗ D} (α : F ⟶ G) :
     (LeftExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.LeftExactFunctor.forget_map CategoryTheory.LeftExactFunctor.forget_map
 
+/- warning: category_theory.RightExactFunctor.forget_map -> CategoryTheory.RightExactFunctor.forget_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_map CategoryTheory.RightExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem RightExactFunctor.forget_map {F G : C ⥤ᵣ D} (α : F ⟶ G) :
     (RightExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.RightExactFunctor.forget_map CategoryTheory.RightExactFunctor.forget_map
 
+/- warning: category_theory.ExactFunctor.forget_map -> CategoryTheory.ExactFunctor.forget_map is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u1 u2 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) F G α) α
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] {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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) 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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) F G α) α
+Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_map CategoryTheory.ExactFunctor.forget_mapₓ'. -/
 @[simp]
 theorem ExactFunctor.forget_map {F G : C ⥤ₑ D} (α : F ⟶ G) : (ExactFunctor.forget C D).map α = α :=
   rfl
 #align category_theory.ExactFunctor.forget_map CategoryTheory.ExactFunctor.forget_map
 
+#print CategoryTheory.LeftExactFunctor.of /-
 /-- Turn a left exact functor into an object of the category `LeftExactFunctor C D`. -/
 def LeftExactFunctor.of (F : C ⥤ D) [PreservesFiniteLimits F] : C ⥤ₗ D :=
   ⟨F, ⟨inferInstance⟩⟩
 #align category_theory.LeftExactFunctor.of CategoryTheory.LeftExactFunctor.of
+-/
 
+#print CategoryTheory.RightExactFunctor.of /-
 /-- Turn a right exact functor into an object of the category `RightExactFunctor C D`. -/
 def RightExactFunctor.of (F : C ⥤ D) [PreservesFiniteColimits F] : C ⥤ᵣ D :=
   ⟨F, ⟨inferInstance⟩⟩
 #align category_theory.RightExactFunctor.of CategoryTheory.RightExactFunctor.of
+-/
 
+#print CategoryTheory.ExactFunctor.of /-
 /-- Turn an exact functor into an object of the category `ExactFunctor C D`. -/
 def ExactFunctor.of (F : C ⥤ D) [PreservesFiniteLimits F] [PreservesFiniteColimits F] : C ⥤ₑ D :=
   ⟨F, ⟨⟨inferInstance⟩, ⟨inferInstance⟩⟩⟩
 #align category_theory.ExactFunctor.of CategoryTheory.ExactFunctor.of
+-/
 
+#print CategoryTheory.LeftExactFunctor.of_fst /-
 @[simp]
 theorem LeftExactFunctor.of_fst (F : C ⥤ D) [PreservesFiniteLimits F] :
     (LeftExactFunctor.of F).obj = F :=
   rfl
 #align category_theory.LeftExactFunctor.of_fst CategoryTheory.LeftExactFunctor.of_fst
+-/
 
+#print CategoryTheory.RightExactFunctor.of_fst /-
 @[simp]
 theorem RightExactFunctor.of_fst (F : C ⥤ D) [PreservesFiniteColimits F] :
     (RightExactFunctor.of F).obj = F :=
   rfl
 #align category_theory.RightExactFunctor.of_fst CategoryTheory.RightExactFunctor.of_fst
+-/
 
+#print CategoryTheory.ExactFunctor.of_fst /-
 @[simp]
 theorem ExactFunctor.of_fst (F : C ⥤ D) [PreservesFiniteLimits F] [PreservesFiniteColimits F] :
     (ExactFunctor.of F).obj = F :=
   rfl
 #align category_theory.ExactFunctor.of_fst CategoryTheory.ExactFunctor.of_fst
+-/
 
+/- warning: category_theory.LeftExactFunctor.forget_obj_of -> CategoryTheory.LeftExactFunctor.forget_obj_of is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.LeftExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.LeftExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
+Case conversion may be inaccurate. Consider using '#align category_theory.LeftExactFunctor.forget_obj_of CategoryTheory.LeftExactFunctor.forget_obj_ofₓ'. -/
 theorem LeftExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F] :
     (LeftExactFunctor.forget C D).obj (LeftExactFunctor.of F) = F :=
   rfl
 #align category_theory.LeftExactFunctor.forget_obj_of CategoryTheory.LeftExactFunctor.forget_obj_of
 
+/- warning: category_theory.RightExactFunctor.forget_obj_of -> CategoryTheory.RightExactFunctor.forget_obj_of is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.RightExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.RightExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3)) F
+Case conversion may be inaccurate. Consider using '#align category_theory.RightExactFunctor.forget_obj_of CategoryTheory.RightExactFunctor.forget_obj_ofₓ'. -/
 theorem RightExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteColimits F] :
     (RightExactFunctor.forget C D).obj (RightExactFunctor.of F) = F :=
   rfl
 #align category_theory.RightExactFunctor.forget_obj_of CategoryTheory.RightExactFunctor.forget_obj_of
 
+/- warning: category_theory.ExactFunctor.forget_obj_of -> CategoryTheory.ExactFunctor.forget_obj_of is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F] [_inst_4 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{succ (max u1 u2 u3 u4)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3 _inst_4)) F
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u2, u4} D] (F : CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) [_inst_3 : CategoryTheory.Limits.PreservesFiniteLimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F] [_inst_4 : CategoryTheory.Limits.PreservesFiniteColimits.{u1, u2, u3, u4} C _inst_1 D _inst_2 F], Eq.{max (max (max (succ u3) (succ u4)) (succ u1)) (succ u2)} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2))) (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.Functor.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.ExactFunctor.forget.{u1, u2, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.ExactFunctor.of.{u1, u2, u3, u4} C _inst_1 D _inst_2 F _inst_3 _inst_4)) F
+Case conversion may be inaccurate. Consider using '#align category_theory.ExactFunctor.forget_obj_of CategoryTheory.ExactFunctor.forget_obj_ofₓ'. -/
 theorem ExactFunctor.forget_obj_of (F : C ⥤ D) [PreservesFiniteLimits F]
     [PreservesFiniteColimits F] : (ExactFunctor.forget C D).obj (ExactFunctor.of F) = F :=
   rfl

Changes in mathlib4

mathlib3
mathlib4
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
@@ -30,7 +30,7 @@ section
 
 variable (C) (D)
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- Bundled left-exact functors. -/
 def LeftExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteLimits F)
@@ -55,7 +55,7 @@ instance : (LeftExactFunctor.forget C D).Full :=
 instance : (LeftExactFunctor.forget C D).Faithful :=
   FullSubcategory.faithful _
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- Bundled right-exact functors. -/
 def RightExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteColimits F)
@@ -80,7 +80,7 @@ instance : (RightExactFunctor.forget C D).Full :=
 instance : (RightExactFunctor.forget C D).Faithful :=
   FullSubcategory.faithful _
 
--- porting note (#10927): removed @[nolint has_nonempty_instance]
+-- porting note (#5171): removed @[nolint has_nonempty_instance]
 /-- Bundled exact functors. -/
 def ExactFunctor :=
   FullSubcategory fun F : C ⥤ D =>
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
@@ -49,10 +49,10 @@ def LeftExactFunctor.forget : (C ⥤ₗ D) ⥤ C ⥤ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.LeftExactFunctor.forget CategoryTheory.LeftExactFunctor.forget
 
-instance : Full (LeftExactFunctor.forget C D) :=
+instance : (LeftExactFunctor.forget C D).Full :=
   FullSubcategory.full _
 
-instance : Faithful (LeftExactFunctor.forget C D) :=
+instance : (LeftExactFunctor.forget C D).Faithful :=
   FullSubcategory.faithful _
 
 -- porting note (#10927): removed @[nolint has_nonempty_instance]
@@ -74,10 +74,10 @@ def RightExactFunctor.forget : (C ⥤ᵣ D) ⥤ C ⥤ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.RightExactFunctor.forget CategoryTheory.RightExactFunctor.forget
 
-instance : Full (RightExactFunctor.forget C D) :=
+instance : (RightExactFunctor.forget C D).Full :=
   FullSubcategory.full _
 
-instance : Faithful (RightExactFunctor.forget C D) :=
+instance : (RightExactFunctor.forget C D).Faithful :=
   FullSubcategory.faithful _
 
 -- porting note (#10927): removed @[nolint has_nonempty_instance]
@@ -100,10 +100,10 @@ def ExactFunctor.forget : (C ⥤ₑ D) ⥤ C ⥤ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.ExactFunctor.forget CategoryTheory.ExactFunctor.forget
 
-instance : Full (ExactFunctor.forget C D) :=
+instance : (ExactFunctor.forget C D).Full :=
   FullSubcategory.full _
 
-instance : Faithful (ExactFunctor.forget C D) :=
+instance : (ExactFunctor.forget C D).Faithful :=
   FullSubcategory.faithful _
 
 /-- Turn an exact functor into a left exact functor. -/
@@ -112,10 +112,10 @@ def LeftExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ₗ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.LeftExactFunctor.of_exact CategoryTheory.LeftExactFunctor.ofExact
 
-instance : Full (LeftExactFunctor.ofExact C D) :=
+instance : (LeftExactFunctor.ofExact C D).Full :=
   FullSubcategory.full_map _
 
-instance : Faithful (LeftExactFunctor.ofExact C D) :=
+instance : (LeftExactFunctor.ofExact C D).Faithful :=
   FullSubcategory.faithful_map _
 
 /-- Turn an exact functor into a left exact functor. -/
@@ -124,10 +124,10 @@ def RightExactFunctor.ofExact : (C ⥤ₑ D) ⥤ C ⥤ᵣ D :=
 set_option linter.uppercaseLean3 false in
 #align category_theory.RightExactFunctor.of_exact CategoryTheory.RightExactFunctor.ofExact
 
-instance : Full (RightExactFunctor.ofExact C D) :=
+instance : (RightExactFunctor.ofExact C D).Full :=
   FullSubcategory.full_map _
 
-instance : Faithful (RightExactFunctor.ofExact C D) :=
+instance : (RightExactFunctor.ofExact C D).Faithful :=
   FullSubcategory.faithful_map _
 
 variable {C D}
chore: remove mathport name: <expression> lines (#11928)

Quoting [@digama0](https://github.com/digama0):

These were actually never meant to go in the file, they are basically debugging information and only useful on significantly broken mathport files. You can safely remove all of them.

Diff
@@ -91,7 +91,6 @@ set_option linter.uppercaseLean3 false in
 instance : Category (ExactFunctor C D) :=
   FullSubcategory.category _
 
--- mathport name: «expr ⥤ₑ »
 /-- `C ⥤ₑ D` denotes exact functors `C ⥤ D` -/
 infixr:26 " ⥤ₑ " => ExactFunctor
 
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
@@ -30,7 +30,7 @@ section
 
 variable (C) (D)
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- Bundled left-exact functors. -/
 def LeftExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteLimits F)
@@ -55,7 +55,7 @@ instance : Full (LeftExactFunctor.forget C D) :=
 instance : Faithful (LeftExactFunctor.forget C D) :=
   FullSubcategory.faithful _
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- Bundled right-exact functors. -/
 def RightExactFunctor :=
   FullSubcategory fun F : C ⥤ D => Nonempty (PreservesFiniteColimits F)
@@ -80,7 +80,7 @@ instance : Full (RightExactFunctor.forget C D) :=
 instance : Faithful (RightExactFunctor.forget C D) :=
   FullSubcategory.faithful _
 
--- porting note: removed @[nolint has_nonempty_instance]
+-- porting note (#10927): removed @[nolint has_nonempty_instance]
 /-- Bundled exact functors. -/
 def ExactFunctor :=
   FullSubcategory fun F : C ⥤ D =>
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.limits.exact_functor
-! leanprover-community/mathlib commit 9fc53308a90fac244ac715308e1f9c969e6843a4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.Preserves.Finite
 
+#align_import category_theory.limits.exact_functor from "leanprover-community/mathlib"@"9fc53308a90fac244ac715308e1f9c969e6843a4"
+
 /-!
 # Bundled exact functors
 
feat: port CategoryTheory.Limits.ExactFunctor (#2697)

Dependencies 2 + 214

215 files ported (99.1%)
89190 lines ported (99.8%)
Show graph

The unported dependencies are